首先,创建一个Server.java的服务器端类
package socket; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /** * Created by ljb on 2018-06-10. */ public class Server { public static void main(String[] args){ BufferedReader br = null; PrintWriter pw = null; try{ ServerSocket server = new ServerSocket(2000); Socket socket = server.accept(); //获取输入流 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //获取输出流 pw = new PrintWriter(socket.getOutputStream(),true); //获取接收到的数据 String s = br.readLine(); pw.println(s); //打印获取到的数据 System.out.println(s); }catch (Exception e){ e.printStackTrace(); }finally { try{ br.close(); pw.close(); }catch (Exception e){ } } } }
然后创建客户端类 Client.java
package socket; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; /** * Created by ljb on 2018-06-10. */ public class Client { public static void main(String[] args){ BufferedReader br = null; PrintWriter pw = null; try{ Socket socket = new Socket("localhost",2000); //获取输入流与输出流 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); pw = new PrintWriter(socket.getOutputStream(),true); //向服务器发送数据 pw.println("hello,world"); String s = null; while (true){ s = br.readLine(); if(s != null){ break; } } System.out.println(s); }catch (Exception e){ e.printStackTrace(); }finally { try{ br.close(); pw.close(); }catch (Exception e){ } } } }
然后先运行服务端类Server.java,然后再运行Client.java
服务端会收到客户端传到的 hello,world 打印出来后,并转发给客户端,客户端也会打印出来