当前位置: 代码迷 >> .NET分析设计 >> socket通信中的accept(),不好理解,该怎么处理
  详细解决方案

socket通信中的accept(),不好理解,该怎么处理

热度:3391   发布时间:2013-02-25 00:00:00.0
socket通信中的accept(),不好理解
socket通信中的accept(),不好理解,为什么在帮助中说是要新建一个socket?

------解决方案--------------------------------------------------------
accetp是在等待一个握手,是在listen的socket等的。

等到后就需要socket来处理接收与发送,而listen的socket还是在继续听。

为了不冲突,所以要新建一个
------解决方案--------------------------------------------------------
等待接收客户端连接,一旦有连接就返回,这是可以新建一个socket处理客户端数据,原socket可以继续listen
------解决方案--------------------------------------------------------
想想一个服务器可能要为多个客户端服务就对了
------解决方案--------------------------------------------------------
一般我们设计服务器端的时候,都会创建一个socket做为侦听器(listener),用accept()方法负责接受客户端的连接请求。accept()方法在接受客户端A的连接请求后,会产生出一个新的socket出来,负责与客户端A进行数据收发工作。而listener继续等待另一些客户端的连接请求。

好比我们去一家大酒楼,门口总有一个迎宾,负责开门让你这个客户进去,你进去大酒楼后,会有一个待应带你去找座位和点餐。这个迎宾相当于listener,为你服务的待应就是accept()创建出来的socket。
  相关解决方案