TCP 阻塞模型下服务器和客户端的建立步骤
TCP服务器建立的步骤:
1. 调用socket建立TCP 套接字
2. 调用bind将套接字跟本地地址绑定
3. 调用listen建立监听
4. 建立accept接受来自客户端的连接,返回新的连接套接字
5. 在新的套接字上面,调用send/recv实现跟客户端的通信。
TCP 客户端建立的步骤:
1. 调用socket建立 TCP 套接字
2. 调用connect实现跟服务器端的连接
3. 调用send/recv实现跟服务器端的通信
无论是在服务器端还是客户端,要关闭连接,调用closesocket即可。
下面是练习的代码,当客户端成功连接到服务器端时,服务器端会打印出客户端的IP地址,会客户端发送过来的一段信息。
服务器代码:
客户端代码:
服务器的I/O模型是阻塞型的,如果需要处理来自多个客户端的连接,那么就必须开多个线程,一般一个线程处理一个来自客户端的连接。这样会消耗大量的系统资源,所以一般不采用阻塞的套接字管理模型。而是采用非阻塞的I/O 模型。以前写socket的时候,都是傻乎乎的给每个连接开个线程,这样服务器端根本就不能够承受大量的客户端的连接,是不太现实的。