2015-03-31 43 views
0

在我的客户端应用程序中,我使用epoll和udp套接字从服务器接收数据包。客户端应用程序有两个进程,p1和p2。多进程环境中的epoll

使用此函数获取fd的sock = socket(AF_INET,SOCK_DGRAM,0);

在方法P1中,插座()函数返回FD的从4 P1开始已经的fd的4,5,6,7,8等

在过程P2,插座()函数返回FD的从4开始。 P2有fd的4,5,6

现在在这两个进程中有相同的FD但端口号是不同的。

进程P1和P2都使用epoll读取/写入。 在这种情况下,任何获取数据包到P2的机会,实际上是为了P1吗?

回答

0

否。每个进程都有自己的文件(套接字)描述符集。 FD的价值可以与其他流程相同。那里没有问题。所以没有办法打算让P1到达P2。

您可以回想一下,与stdin,stdout和stderr相对应的文件描述符0,1和2对于每个进程都是开放的。它们并不是独一无二的。