当前位置: 技术问答>linux和unix
多进程socket编程问题
来源: 互联网 发布时间:2015-11-06
本文导语: 刚写了一个多进程的socket通讯程序(服务器端),功能是实现一个服务端对多个客户端进行通讯,我的实现主要是主进程循环accept,每accept到一个客户端就fork一个子进程处理,子进程通过获取的socket描述符进行读写...
刚写了一个多进程的socket通讯程序(服务器端),功能是实现一个服务端对多个客户端进行通讯,我的实现主要是主进程循环accept,每accept到一个客户端就fork一个子进程处理,子进程通过获取的socket描述符进行读写。现在的问题是,我发现每个子进程的socket描述符都一样,这样就有问题了,多个子进程怎么通过相同的socket id来读写数据呢?
|
上次提类似问题的不是楼主??
TCP连接用四元组标识,(srcip,srcport,dstip,dstport),所有这四元组在一个描述符里,而描述符值的有效范围是进程内部。所以虽然每个子进程的socket id一样,但表示的不是同一个连接。
TCP连接用四元组标识,(srcip,srcport,dstip,dstport),所有这四元组在一个描述符里,而描述符值的有效范围是进程内部。所以虽然每个子进程的socket id一样,但表示的不是同一个连接。