1 /* 2 客户端流程: 3 1.创建客户端socket服务对象,明确连接到哪个主机; 4 2.将数据写到socket对象的输出流中; 5 3.获取服务端发送回来的socket对象输入流; 6 4.关闭服务 7 */ 8 import java.net.*; 9 import java.io.*; 10 class TCPSend2 11 { 12 public static void main(String[]args) throws Exception 13 { 14 //创建客户端socket服务对象,与此同时需要明确连接到哪个主机服务端 15 Socket socketSend=new Socket(InetAddress.getByName("127.0.0.1"),10003); 16 //将数据写到socket对象的输出流中 17 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socketSend.getOutputStream())); 18 String data="服务端你好,俺是客户端"; 19 bw.write(data,0,data.length()); 20 bw.flush();//别忘了这一步,否则服务端收不到数据,为NULL 21 22 //关闭服务 23 socketSend.close(); 24 } 25 } 26 27 /* 28 1.创建服务端socket服务对象,明确监听的端口号 29 2.获取服务端连接过来的socket对象 30 3.获取客户端发过来的数据(存放在输入流中) 31 4.关闭服务 32 */ 33 class TCPReceive2 34 { 35 public static void main(String[]args) throws Exception 36 { 37 //1.创建服务端socket服务对象,明确监听的端口号 38 ServerSocket socketReceive=new ServerSocket(10003); 39 //2.获取服务端连接过来的socket对象 40 Socket socketSend=socketReceive.accept(); 41 //3.获取客户端发过来的数据,就是获取客户端socket对象的输入流 42 BufferedReader br = new BufferedReader(new InputStreamReader(socketSend.getInputStream())); 43 String data; 44 data=br.readLine(); 45 System.out.println(data); 46 //4.关闭服务 47 socketSend.close();//同时关闭连接过来的客户端socket 48 socketReceive.close(); 49 } 50 }
时间: 2024-09-30 18:58:18