标签:使用 服务端 str ring output stat soc 请求 exception
1、使用Socket进行通信:
1、服务端:
1 package com.neo.demo; 2 3 import java.io.IOException; 4 import java.io.PrintStream; 5 import java.net.ServerSocket; 6 import java.net.Socket; 7 8 public class Server { 9 10 public static void main(String[] args) throws IOException{ 11 12 //创建一个ServerSocket,用于监听socket的连接请求 13 ServerSocket serverSocket = new ServerSocket(30000); 14 //采用循环的方式来接收客户端的请求 15 while(true) 16 { 17 //每当接收socket客户端请求时,服务器端也产生一个对应的socket 18 Socket s = serverSocket.accept(); 19 //将socket对应的输出流包装成PrintStream 20 PrintStream ps = new PrintStream(s.getOutputStream()); 21 //进行普通的IO操作 22 ps.println("您好,您收到了服务器的新年祝福!"); 23 //关闭输出流,关闭socket 24 ps.close(); 25 s.close(); 26 } 27 } 28 }
2、客户端:
1 package com.neo.demo; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.Socket; 7 8 public class Client { 9 10 public static void main(String[] args) throws IOException{ 11 12 Socket socket = new Socket("127.0.0.1",30000); 13 //将socket输入流包装成BufferedReader 14 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); 15 //进行IO操作 16 String line = br.readLine(); 17 System.out.println("来自服务器的数据:"+line); 18 //关闭输入流,socket 19 br.close(); 20 socket.close(); 21 22 } 23 }
先运行Server类,将看到服务器一直处于等待状态,因为服务器使用了死循环来接收来自客户端的请求;再运行Client类,将看到程序输出:“来自服务器的数据:您好,您收到了服务器的新年祝福!”,这表明客户端和服务器端通信成功!
标签:使用 服务端 str ring output stat soc 请求 exception
原文地址:https://www.cnblogs.com/aibaiyang/p/9065239.html