标签:input ext 形式 print throw 网卡 tput 连接数量 new
TCP通信分为客户端和服务器端,实现通信必须由客户端连接服务端。
Socket类(客户端):
可以指定IP地址和端口号,可以根据IP和端口号运行服务端程序,只是IP地址的形式不同。
ServerSocket类(服务器端):
(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));} } }
标签:input ext 形式 print throw 网卡 tput 连接数量 new
原文地址:https://www.cnblogs.com/zhai1997/p/11387447.html