多个socket能不能同时从一个端口接收到相同的数据?该如何处理

多个socket能不能同时从一个端口接收到相同的数据?
创建10个线程,每个线程里都创建一个socket,可不可以10个线程同时从一个地址、端口接收到相同的数据?

------解决方案--------------------
探讨
创建10个线程,每个线程里都创建一个socket,可不可以10个线程同时从一个地址、端口接收到相同的数据?

------解决方案--------------------
你这样是不行的,但线程之间可以共享socket,所以只用创建一个socket,多个线程可以共享。注意线程同步问题
------解决方案--------------------
探讨

也就是说是不行的,多个socket从相同端口接收时就相当于是多线程接收?
有一点十分不解,recv执行后这个端口的数据被复制到用户缓存,这时网卡缓存还存在相同的数据吗?

------解决方案--------------------
学习。。。
------解决方案--------------------
1.线程之间共享socket
2.只用一个线程创建socket,其它线程间通过event通讯,应该可以达到目的!
------解决方案--------------------
可以看一下地址和端口复用方面的东西。
------解决方案--------------------
探讨
我的测试结果是可以同时接收,我创建了多个socket同时从一个地址和端口接收组播,而且还使用了异步IO

------解决方案--------------------
可以的.
只允许一个线程Accept, accept之后就可以多线程了。

就像FTP,所有的用户都是连的21端口

http://supersocket.codeplex.com/

你可以看看SuperSocket的源代码