Socket编程之accept()理解

来源:互联网 发布:若知前世因今生受者是 编辑:程序博客网 时间:2024/05/17 06:03
        刚学socket编程,其中的一个问题一直在困扰我。
        如果一个socket创建后并与8888端口绑定后,那么当其accept一个请求后,生成的新的socket到底使用的是什么端口呢?照书上说应该是与监听socket(即服务端创建的第一个socket)拥有相同端口号,因为一个端口号对应唯一一个进程。针对这个问题我查了一些资料,有位前辈这么说的:accept函数返回的新socket其实指代的是本次创建的连接,而一个连接是包括两部分信息的,一个是源IP和源端口,另一个是宿IP和宿端口。所以,accept可以产生多个不同的socket,而这些socket里包含的宿IP和宿端口是不变的,变化的只是源IP和源端口。这样的话是否可以这么理解:服务端创建一个一直在监听的socket,accept()创建不同连接socket标识对应客户端的连接。至于accept到底如何实现监听socket与连接socket的关联的呢?不得而知。
        以上是我对accept的理解,如果有错误的地方请各位指正。谢谢!!!
原创粉丝点击