Java网络编程下之Socket客户端编程
2017-02-07 18:16
288 查看
该篇是Java网络编程下篇-socket客户端编程
客户端的编写步骤和客户端类似,步骤如下:1.通过IP地址和端口号实例化socket,请求连接服务器
2.获得socket上的流进行读写操作
3.把流封装到BufferedReader/PrintWriter的实例
4.对socket进行读写
5.关闭打开的流
代码部分:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Client { public static void main(String[] args) { PrintStream out=null; BufferedReader reader=null;//缓冲流 try { //客户端建立连接,IP地址是本地,端口号:10000 Socket s = new Socket("localhost", 10000); //建立输出流,目的是为了向服务器端写数据 out = new PrintStream(s.getOutputStream()); //建立输入流,目的是为了向服务器端读数据 reader = new BufferedReader(new InputStreamReader(s.getInputStream())); //从键盘写数据 Scanner c = new Scanner(System.in); while(true){ System.out.println("请输入内容(exit:停止)"); String str=c.nextLine(); //写数据 out.println(str); //读数据 String line=reader.readLine(); System.out.println(line); } } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { reader.close(); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
注意:
1.在服务器端,一定要先读后写(因为服务端是监听状态),顺序不能颠倒
2.在客户端,一定要先写后读,同样顺序也不能颠倒
3.再练中,在关闭服务器端时,要关闭彻底,要不会出现意想不到的错误
相关文章推荐
- 网络编程_TCP_Socket通信_聊天室_客户端多线程_群聊JAVA191-192
- java网络编程--socket服务端客户端(1:1)
- 网络编程_TCP_Socket通信原理_多个客户端_聊天室原理JAVA189-190
- java网络编程之socket网络编程示例(服务器端/客户端)
- Java网络编程(16):客户端套接字(Socket)的超时
- java网络编程----------Socket实现客户端和服务器的连接
- java网络编程之socket网络编程示例(服务器端/客户端)
- java:网络编程(一/基于Socket的单客户端连接)
- JAVA 网络编程 Socket 详细说明,实现客户端和服务端相互推送消息
- Java网络编程——第八章 客户端Socket
- java网络编程之服务端客户端socket简单通信案例
- Java网络编程——8.客户端Socket
- java网络编程实例1——用socket类写http客户端
- Java网络编程 客户端Socket
- Java网络编程从入门到精通(16):客户端套接字(Socket)的超时
- java网络编程 UDP编程 Socket编程
- Java Socket网络编程入门教程
- Java Socket网络编程四