TCP通信 朱雀 2023-08-17 16:10 80阅读 0赞 TCP通信分为客户端和服务器端,实现通信必须由客户端连接服务端。 Socket类(客户端): ![1392562-20190821095510620-324261313.png][] ![1392562-20190821095604809-537332912.png][] 可以指定IP地址和端口号,可以根据IP和端口号运行服务端程序,只是IP地址的形式不同。 ServerSocket类(服务器端): ![1392562-20190821094656060-375750010.png][] (1)没有绑定端口号,需要调用bind方法。 (2)可以绑定端口号,默认最大连接数量为50。 (3)可以绑定端口号,指定最大连接数量。 (4)可以绑定端口号,指定最大连接数量、IP地址。适用于计算机上有多块网卡和多个 IP。 客户端,可以一直发送数据: import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Client { public static void main(String[] args) throws UnknownHostException, IOException { Socket s = new Socket(InetAddress.getByName("DESKTOP-R14D2UH"), 7999);// 通过IP和端口号连接服务器 OutputStream out = s.getOutputStream(); out.write("客户端已启动".getBytes()); InputStream in = s.getInputStream(); byte[] buffer = new byte[1024]; int length = in.read(buffer); System.out.println(new String(buffer, 0, length)); while (true) { Scanner sc = new Scanner(System.in); System.out.println("请输入数据到服务器:"); String str = sc.next(); out.write(str.getBytes()); } } } 服务器,一直接收客户端发送的数据: import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException { ServerSocket ss = new ServerSocket(7999); Socket s = ss.accept();// 在服务端的指定端口监听客户端发来的连接请求,并与之连接 OutputStream out = s.getOutputStream(); out.write("你已经连接上了服务器".getBytes());// 字节输出 while(true){ InputStream in = s.getInputStream(); byte[] buffer = new byte[1024]; int length = in.read(buffer); System.out.println(new String(buffer, 0, length));} } } 转载于:https://www.cnblogs.com/zhai1997/p/11387447.html [1392562-20190821095510620-324261313.png]: /images/20230810/75d9e913f2874681912f653c840a0551.png [1392562-20190821095604809-537332912.png]: /images/20230810/fba9c57a5c2d4977af5120ee3dff754c.png [1392562-20190821094656060-375750010.png]: /images/20230810/cf101b13e7ef45718bf493ec3e5d0025.png
还没有评论,来说两句吧...