演示TCP的传输的客户端和服务庙的互访
1 package NetWork; 2 3 import java.io.InputStream; 4 import java.io.OutputStream; 5 import java.net.ServerSocket; 6 import java.net.Socket; 7 8 /* 9 * 演示TCP的传输的客户端和服务庙的互访 10 * 11 * 需求:客户端给出服务器发送数据 ,服务端收到信息后给客户端反馈信息 12 */ 13 14 /* 15 * 客户端 16 */ 17 public class Tcp2 { 18 public static void main(String[] args) throws Exception { 19 Socket socket = new Socket("192.168.1.101", 21101); // 建立连接 20 // 建立给服务器发送数据的输入流 21 OutputStream out = socket.getOutputStream(); // 获取输入流 22 out.write("我发过来了".getBytes()); // 将需要发送的数据使用.getBytes方法转换成字节流 23 24 // 建立服务器反馈过来的数据,并且将数据打印出来 25 InputStream in = socket.getInputStream(); 26 byte[] buf = new byte[1024]; 27 int len = in.read(buf); 28 System.out.println(new String(buf, 0, len)); 29 } 30 } 31 32 class TcpServer2 { 33 public static void main(String[] args) throws Exception { 34 ServerSocket server = new ServerSocket(21101); // 建立服务 35 36 Socket socket = server.accept();// 获取连接 37 38 // 获取客户端的信息 39 System.out.println("ip:" + socket.getInetAddress().getHostAddress()); 40 41 // 接收客户端发送过来的数据 42 InputStream in = socket.getInputStream(); 43 44 byte[] buf = new byte[1024];// 定义字符串缓冲区 45 46 int len = 0; 47 48 while ((len = in.read(buf)) != -1) { 49 System.out.println(new String(buf, 0, len)); 50 } 51 52 // 给客户端反馈信息 53 OutputStream out = socket.getOutputStream(); 54 out.write("我收到了,".getBytes()); 55 56 socket.close();// 关闭资源 57 } 58 }