Java Socket通信
原理:
1.基于TCP协议,建立稳定连接的点对点的通信
a.实时,快速,安全性高,占用系统资源多,效率低
2.请求-响应模式
a.客户端
在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序
b.服务端
第一次通讯中等待连接的程序被称作服务端(Server)程序
c.Socket:发送TCP消息
d.Server Socket:创建服务器.
代码示范:
Server类:
1.创建服务器,指定端口:ServerSocket(int-port);
1 ServerSocket server=new ServerSocket(8888);
2.接收客户端连接阻塞式
1 Socket socket=server.accept(); 2 3 // 打印:System.out.println("一个客户端建立连接");
3.发送数据
1 String msg="发送数据"; 2 3 //输出流 4 5 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(scoket.getoutputstream())); 6 7 bw.write(msg); 8 9 bw.newLine(); 10 11 bw.flush();
Client类:
1.建立客户端,必须指定服务器+端口Socket(String host,int port)。此时就在连接
1 //localhost代表本机的服务器 2 Socket client=new Socket("localhost",8888);
2.接收数据
1 BufferedReader br=new BufferedReader(new InputstreamReader(client.getInputStream())); 2 3 String echo=br.readLine(); 4 5 System.out.println(echo);