1. 服务器模型
2. 循环服务器:初始化套接字以及其他准备工作,然后在准备接收客户端连接的时候,使用while(1)来循环的检测,是否有客户端发起连接。如果有客户端请求连接,那么在服务器端为其创建一个线程,专门为这个客户端服务。
3. 简单的并发服务器:在服务器端,构建多个子进程或者子线程,当客户端的请求发来的时候,进程池中选取一个子进程处理客户端的连接,每个子进程处理一个客户端请求。
4. IO复用服务器编程:1)main函数中,开两个线程,一个是专门用来建立连接的connect线程,另一个是专门用来处理客户端请求的request线程。 2) 在connect线程中,一直在accept连接客户端,然后将这个连接成功的新的套接字放在全局数组变量中,更新。 3)在request线程中,主要是先对文件描述符进行整理,获得最大文件描述符,再使用select来对多个套接字文件描述符进行一定的时间内等待,查看可读套接字文件描述符是否出现,就可以使用recv函数接收可读客户端的数据,同时也可以用send函数发送必要的反馈信息给该客户端。