获取 LAN 网络上所有可能的服务器
我在这里使用从客户端连接到服务器的详细信息: http://www.eggheadcafe .com/articles/20020323.asp
它已经过时了,但我只需要它来完成一个快速项目。我需要客户端自动连接。该程序将仅在 LAN 上运行,有没有办法找到服务器正在哪台计算机上运行(即在端口 x 上托管特定服务器的所有计算机)。我在几款在 LAN 上运行的游戏中看到过它。在无法访问互联网的情况下,他们可以设法显示本地 LAN 上的所有可用游戏。我正在用 VB.net 做这个。
谢谢!
I'm using the details on connecting to a server from a client here: http://www.eggheadcafe.com/articles/20020323.asp
It's quite out dated but I just need it for a quick project. I need the client to auto-connect. This program will be running on the LAN only, is there a way to find on what computer the server is running on (i.e. all computers hosting the specific server on port x). I've seen it on a couple of games that run on LAN. Without access to the internet, they manage to display all available games on the local LAN. I'm doing this with VB.net.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您让所有客户端/服务器侦听特定的 UDP 端口,您可以在该 UDP 端口上进行多播并从服务器获取答案...或者服务器只是以特定的时间间隔(即一次)在该端口上进行多播每分钟/10 秒...)...这样您就可以了解服务器,并且如果需要的话,可以了解 LAN 上的所有客户端...UDP 多播不会离开 LAN,因为通常的路由器/防火墙需要明确配置为允许 UDP 组播数据包离开LAN...
一些参考链接,包括 VB.NET 源代码:
IF you make all your clients/servers listen on a specific UDP port you can just multicast on that UDP port and get an answer from the server(s)... OR the server just muticasts on that port in a spcific interval (i.e. once every minute/10 sec...)... this way you know the server and if need be all clients on the LAN... a UDP multicast doesn't leave the LAN since the usual routers/firewalls would need to be explicitly configured to allow UDP multicast packet to leave the LAN...
some reference links including VB.NET source code: