在Socket通信中,数据往往会被分为多个数据包进行传输,每次发送的数据包大小由操作系统的套接字缓冲区决定。因此,发送方可能需要将多个数据块缓存起来,并将它们作为一个数据包一次性发送。而接收方同样需要使用缓冲区来接收和处理这些数据块。
客户端代码:
class TcpClient {
public static void main(String[] args) throws Exception {
//创建客户端的socket服务。指定目的主机和端口
Socket s = new Socket("127.0.0.1", 10003);
System.out.println("客户端启动");
byte[] bytes = new byte[1024 * 1024];
int count = 0;
int length = 0;
//为了发送数据,应该获取socket流中的输出流。
OutputStream out = s.getOutputStream();
BufferedInputStream inp