代码改变世界

socket模型的理解

2008-09-18 18:01  ubunoon  阅读(391)  评论(1编辑  收藏  举报
    一直以来,对socket方面的编程一直是是而非,没有很好的概念。今天重新好好看了一些socket方面的资料,终于有所突破,对socket的几个函数有了一定的理解。

     其实其他函数都好说,就是一个accept函数比较让人难以理解一些,为什么会这样的,因为accept是一个阻塞型的函数,在没有接收到客户端的connect函数连接的时候,accept是不会返回的。这与一般的函数不同,一般的函数是调用完后立即返回的,不存在阻塞的问题。
 
     以前看的一些资料也没有说明白accept是阻塞型的函数,只是给出了五个函数的客户端与服务器端的连接模式。

     accept函数返回的socket,应该在新的进程或线程中进行处理,这样,可以避开主线程的接收功能,专注于数据处理。 至于线程库,推荐使用Zthread库。