accept函数
accept函数返回值成功时返回非负值,失败时返回-1
accept函数接受一个客户端请求后会返回一个新的SOCKFD值,当有不同的客户端同时有不同请求时,会返回不同的SOCKFD的值。这个不同的值和建立socket 时生成的SOCKFD还是不同的。服务器与客户端之间的通信就是在这些不同的SOCKFD上进行的。
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求。这个套接字不能用于与客户端之间发送和接收数据。accept()接受一个客户端的连接请求,并返回一个新的套接字。所谓“新的”就是说这个套接字与socket()返回的用于监听和接受客户端的连接请求的套接字不是同一个套接字。与本次接受的客户端的通信是通过在这个新的套接字上发送和接收数据来完成的。
再次调用accept()可以接受下一个客户端的连接请求,并再次返回一个新的套接字(与socket()返回的套接字、之前accept()返回的套接字都不同的新的套接字)。这个新的套接字用于与这次接受的客户端之间的通信。假设一共有3个客户端连接到服务器端。那么在服务器端就一共有4个套接字:第1个是socket()返回的、用于监听的套接字;其余3个是分别调用3次accept()返回的不同的套接字。如果已经有客户端连接到服务器端,不再需要监听和接受更多的客户端连接的时候,可以关闭由socket()返回的套接字,而不会影响与客户端之间的通信。当某个客户端断开连接、或者是与某个客户端的通信完成之后,服务器端需要关闭用于与该客户端通信的套接字。
文章最后发布于: 2018-02-08 19:07:14
相关阅读
下面给你它们四则运算的规律:1奇函数+奇函数=奇函数2奇函数+偶函数=非奇非偶函数(特殊的可能是别的结果,不过特殊时可以用定义判断
IP即流量,谁先在衍生品布局上领先一步,谁就抢到先机。期待中国版好莱坞式大IP的到来。米奇玩具、漫威模型、小黄人玩偶……你为什么
/** * 数字金额转换成中文大写金额的函数 * String Int $num 要转换的小写数字或小写字符串 * return 大写字母 * 小数位为
CONVERT() 函数是把日期转换为新数据类型的通用函数。 CONVERT() 函数可以用不同的格式显示日期/时间数据。 CONVERT(data_type(l
产品新人可能一开始会被各种原型工具和产品案例绑架,满脑子都是别人的花哨功能和亮瞎眼的方案,唯独对自己产品不了解。这个时候我们