如何在java网络中播放

时间:2011-07-04 07:21:07

标签: java networking client broadcasting

这是我第一次在java中编程网络。 我正在寻找一种方式发送到某种方式广播到整个网络中的所有节点。让他们知道我的存在。 我正在尝试制作一个多人网络游戏,我希望客户能够看到所有可用的游戏来选择加入哪个游戏。 我想知道如何从服务器广播,以及如何让客户端听。

请简单,我是新手:)

提前致谢。

3 个答案:

答案 0 :(得分:6)

要广播数据包,请将它们发送到给定子网的广播地址(子网的最后一个地址)。 IP 255.255.255.255zero network的广播地址。

  

IP广播地址255.255.255.255存在特殊定义。它是零网络的广播地址或0.0.0.0,其在因特网协议标准中代表该网络,即本地网络。传输到该地址的定义受到限制,因为它永远不会被连接本地网络到Internet的路由器转发。

Broadcast address

要广播到当前网络,请将数据包发送到255.255.255.255

答案 1 :(得分:2)

不要混淆条款。

广播通常用于UDP。 UDP是不可靠的,因为它不检查客户端是否接收到所有数据包。很多客户端都没有广播TCP连接。

要让您的客户端监听端口,您需要使用ServerSocket并阅读它。

答案 2 :(得分:0)

我建议您使用PubSubHubbub或类似的协议。基本上,您将有一个“集线器”,您可以向其发送要“广播”的通知。每个节点通过提供集线器在新数据到达时可以调用的URL来订阅该主题。当“集线器”收到此广播时,集线器会联系每个订阅URL,让节点知道有新数据。