我正在Linux下用C开发网络游戏,因此局域网中的用户可以互相玩游戏。因此,服务器在每个主机中运行,在特定端口中侦听。
因此,客户端必须实现扫描同一LAN中侦听端口的所有主机。我可以使用nmap,但是nmap会产生太多我必须用管道计算的信息,不是吗?
如果您认为以下想法合适,请告诉我。
如果我知道自己的IP地址,我会知道IP地址的类型,A B或C,而且我也知道IP主要针对主机的那部分。因此,使用套接字系统调用“connect”到指定的端口,我能够知道我的网络中提供此服务的所有主机。
你觉得哪个更好?
非常感谢!!!
答案 0 :(得分:1)
使用你自己的ip进行广播,并让其他人用他们的ip响应你,这么简单。 你可以使用avahi(zeroconf)。
答案 1 :(得分:0)
使用广播或多播多播只是对感兴趣的客户端的一种特殊类型的广播数据。请在此处查看:http://www.ibiblio.org/pub/linux/docs/howto/other-formats/html_single/Multicast-HOWTO.html