我正在学习套接字和客户端 - 服务器应用程序。似乎推荐的方法是服务器应该具有固定的IP地址,以便客户端可以找到它。它是否正确?似乎应该有某种类型的启动技术,在初始化时,服务器(或客户端)上的程序通常可以将其IP地址广播到网络上的其他计算机,以便在服务器IP地址更改客户端的情况下仍然可以找到它。这可能吗?我认为“多播”可能会有所帮助,但似乎并不总是支持和/或路由器/交换机必须配置为接受这一点,否则技术将失败。它是否正确?我看到有很多方法可能会使用UDP向网络上的任何计算机进行广播,但我不清楚收件人计算机如何在没有设置套接字的情况下以清晰的方式访问它 - 如果没有插件则不会有混淆其他电脑已经在同一个端口上播放?是否只是一个协议问题,程序要整理识别收到的数据包?我只需要了解有关套接字的更多信息吗?任何和所有我可以看到的建议/指针将不胜感激。非常感谢提前!
答案 0 :(得分:1)
我正在学习套接字和客户端 - 服务器应用程序。它似乎 好像推荐的方法是服务器应该有一个固定的 IP地址,以便客户端可以找到它。这是对的吗?
是的,是的。
似乎应该有某种类型的启动技术 通常可以在服务器(或客户端)上初始化程序 将他们的IP地址广播到网络上的其他计算机,所以 如果服务器IP地址更改,客户端仍然可以找到 它。这可能吗?
是的,是的。
我认为“多播”可能会有所帮助,但似乎就是这样 并不总是支持和/或必须配置路由器/交换机 接受这个或技术会失败。这是对的吗?
不,多播在这里没有用,你提到了原因,你应该提前知道多播地址。
我看到有很多方法可能会使用UDP向任何人广播 计算机在网络上,但我不清楚收件人是怎么回事 计算机可以在没有插座的情况下以清晰的方式访问它 设置 - 如果其他计算机已经存在,不会有混淆 在同一个港口播放?
您只需偶尔为您的客户做广告,例如每5秒或每1分钟,无论您找到的间隔是否正常。如果有人发送此端口 - 那么你应该使用一些独特的结构,魔术数字等来区分一个数据包与另一个数据包。
这只是解决方案识别的程序的协议问题 收到的数据包?
是的,确实如此。在UDP上。
我是否只需要了解有关套接字的更多信息?
绝对是的。我建议这本书:Unix Network programming,即使你运行非UNIX环境也很好。