2 u014474572 u014474572 于 2014.12.08 20:41 提问

C# 如何实现快速扫描局域网中开放特定端口的目标主机
c#

如题,大概是类似于飞秋启动时那个获取好友列表那种的,首先要考虑效率

5个回答

sanguorewrite
sanguorewrite   2014.12.10 09:51
已采纳

可以考虑用p2p协议. 也就是说用暴力扫描全网的电脑来进行节点机器的发现过程.
如果发现一个节点,那么就可以从节点中得到目前的节点网络拓扑图状况,并提交加入网络的请求.

这样的速度是飞快的...

每个节点功能相同,兼作服务器和客户机。 节点的管理有些象路由的管理,信息在网络中象水的波纹一样传播,直到“能量”耗尽。

haoqq163
haoqq163   2014.12.08 22:47

test


caozhy
caozhy   Ds   Rxr 2014.12.08 23:02

那就多开一些线程并发处理,这样可以隐藏掉每个连接必须花费的延迟。

wang_ting910
wang_ting910   2014.12.09 11:22

用socket udp通讯,可以广播局域网的地址。
关于socket udp

sanguorewrite
sanguorewrite   2014.12.10 09:56

另外一个办法就是用 IP Multicasting in C#

http://www.codeproject.com/Articles/1705/IP-Multicasting-in-C

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!