sever用一个socket能监视本机的多个指定端口吗?该如何处理

sever用一个socket能监视本机的多个指定端口吗?
sever用一个socket能监视本机的多个指定端口吗?(如6001,6005,6007,6050......)
如果能,是如何监视的?
如果不能,该如何实现监视本机的多个指定端口的功能呢?

请各位给个主意,谢谢!!

------解决方案--------------------
一个socket句柄只能监听一个tcp|udp端口

可以在多个线程中建立多个socket进行监听
------解决方案--------------------
要是有1000个socket监听端口,还是建立多个线程用select来管理吧。管理一千个端口没有问题,不会冲突
------解决方案--------------------
只能是多线程才能完成这样的工作了。
并不会冲突的,不过就是不好管理
------解决方案--------------------
理解一点,所谓socket只是一段内存,它把从网卡接收的数据交给不同的应用程序处理而已。端口用来区别这些应用程序。一个socket只能绑定一个端口,就是为了区别不同的应用程序或线程。

你的目的究竟是“监听”还是“拦截”?

如果程序是为了处理网卡数据,监听1000个端口真的要考虑程序是不是有问题。
如果程序是为了记录网卡数据,并不处理,使用raw socket就可以了。
如果程序是为了过滤网卡数据,就需要在数据交给TCP前进行处理,需要开发驱动程序来实现。


------解决方案--------------------
其实在这里面IOCP大致可以看做是一个处理同样功能的线程池就行。另外那么多端口建议建立端口池进行管理,然后定期扫描状态,对废弃的端口进行资源释放。另外如此宽端口范围,就光发起AcceptEx也需要相当的内存。所以还要考虑使用内存池进行管理。
------解决方案--------------------
应该用多线程来监听哟。这样的话多端口也很容易处理。