我们在进行TCP通信时,当服务器端(监听一个端口)需要处理来自多个客户端的连接请求时,可以有三种方式:
1.为每一个客户端的连接建立一个进程。
2.为每个客户端的连接建立一个线程。
3.采用SELECT函数,用单进程完成。
为每个来自客户端的连接建立一个进程或线程的方式实现较为简单,但是对于像嵌入式系统这样的环境来说,这两种方式开销较大。SELECT方式,可以使用单进程完成。具有较高的处理效率。
当服务器端只监听一个端口接收来自多个客户端的连接时SELECT函数的用法:
1.按照老方法,初始化监听端口;
创建套接字,bind,listen。
2.创建fd_set变量rset, FD_SET(fd,&rset)。
待续…………………… |