通过Java UDP网络发送JPanel

时间:2014-12-20 21:44:21

标签: java swing sockets networking udp

我有一个用Java编写的非常基本的视频游戏,其中所有图形都显示在JPanel中。我希望使用UDP网络为这个游戏实现多人游戏功能。要做的是,我需要做的基本事情之一是使用UDP在客户端和服务器之间发送和接收具有正确图形的JPanel

我已经查看了使用Java UDP Networking的其他问题和教程,以了解UDP如何工作,但我仍然不太确定如何实现一个程序,该程序发送JPanel内部具有适当的图形它使用UDP从客户端到服务器,反之亦然?

有人可以给我什么建议吗?也许有一个与我在研究时错过的非常相似的问题?

谢谢!

1 个答案:

答案 0 :(得分:4)

  

要做的事情,我需要做的一件事就是使用UDP在客户端和服务器之间发送和接收带有正确图形的JPanel。

这正是我建议您不要做的事情。相反,我强烈建议您通过网络发送模型状态而不是视图显示,然后允许每个站点使用模型状态来构建自己的视图。这样做会非常 更高效,因为您要在线发送更小的数据集。但请注意,如果您这样做,那么您可能需要使用比UDP更可靠的传输协议,例如TCP(尽管不一定)。

您是通过UDP还是TCP发送数据取决于哪个对您的游戏更为重要:网络速度或绝对数据完整性。网络通信通常是最严重的瓶颈。您希望发送序列化JPanel意味着您将通过网络发送数千个数据位,只需要几位。