日期:2014-05-16  浏览次数:20810 次

初学socket,求教关于listen和accept关系的问题。
socket通信一般是现利用listen侦听端口,收到请求然后用accept建立连接。
如果listen没收到请求,那么会一直执行listen,受到后请求后就执行accept,但是当执行accept时正好又发来了请求怎么办?这种情况是不是要用多线程处理?

------解决方案--------------------
你没有弄明白listen的作用,它只是通知kernel让当前的socket进入监听状态。请求的处理是由accept来完成的。
------解决方案--------------------
一般情况下listen并不阻塞,如果没有连接请求会停在 accept。