摘要:
在客户端/服务器模型中,服务器端需要同时处理多个客户端的连接请求,此时就需要使用多路复用。 实现多路复用最简单的方法是采用非阻塞的方式套接字,服务器端不断的查询每一个套接字的状态,如果有数据到达则读出数据,如果没有数据到达则查看下一个套接字。这种方法虽然简单,但是轮询过程中浪费了大量的CPU时间,效率非常的低。 另一种方法是服务器进程并不主动的询问套接字的状态,而是向系统登记希望坚实的套接字,然后阻塞。当套接字上有事件发生时(如有数据到达),系统通知服务器进程告知那个套接字上发生了什么事件,服务器进程查询对应的套接字,并进行处理。在这种工作方式下,套接字上没有事件发生时,服务器进程不会... 阅读全文
摘要:
1 套接字地址结构struct sockaddr{ unsigned short sa_family;//地址类型 char sa_data[14]; //14字节的地址协议}sa_family表示套接字的协议族类型,对应于TCP/IP的协议该是AF_INET;与该结构体等价的另一个数据结构:sockaddr_in。struct sockaddr_in{ unsigned short sin_family; //地址类型 unsigned short sin_port ; //端口号 struct in_addr sin_addr ;//IP地址 unsigned char sin... 阅读全文