网络上的小程序之间的连接

时间:2009-08-01 21:19:55

标签: java applet

我尝试制作一个小applet,这个小程序是关于(Dots-lines)游戏,我想我们所有人都知道这个游戏。

“Java小程序,可以播放”Dots and Boxes“的铅笔纸游戏,也称为”行和盒子“。

游戏板是矩形网格。显示了板方块角落的点。玩家轮流画出每个方格周围的线条:顶部,左侧,右侧和底部。通过点击第四行完成一个正方形的玩家获得该正方形。在游戏结束时,拥有最多方块的玩家获胜。“

所以,我制作这个小程序,它与我合作,但我的问题是:

我应该在网络上由2个用户玩这个游戏,直到现在我只能在一个用户和计算机之间做到这一点。

他们有任何想法在一个网络上将2个用户或更多用户之间的applet工作。

感谢你的列表。

3 个答案:

答案 0 :(得分:2)

基于浏览器的小程序不允许与任何其他域进行通信,然后是加载它们的域。这是浏览器和java的安全功能(签名的applet可能允许更多权限,但事情变得很复杂。)克服此限制的最简单方法是在两个或多个客户端之间获取服务器代理信息。这意味着客户端只与服务器通信,但服务器可以与每个客户端通信,因此可以充当中间人或裁判。

答案 1 :(得分:2)

查看rtenhovelinked answer以了解Java中的连接限制。

从那里开始,最简单的实现可能是使用中央服务器。既然你没有说明你的确切问题,我将简要介绍一些可行的方法。

您需要中央服务器接受客户端连接。您可以选择让玩家连接到大厅并聊天/挑选对手/等等,但这实现了很多麻烦..

我建议的是看看Google Image Labeler,它随机地将用户放在一起玩游戏,甚至没有选择与彼此通信。 在你让两名球员相互对抗之后,这取决于你

  • 转发球员所做的所有动作,
  • 控制游戏状态(谁赢了),
  • 处理客户端丢弃或断开连接(可能无缝地回退到计算机对手?)。

由于您似乎已经实现了大部分游戏逻辑,因此这种设置可能是实现多玩家体验的最少工作量。

如果您在实施上述设置时遇到任何问题,或需要进一步说明,请随时提出更详细的问题..

答案 2 :(得分:1)

这是以前的一个问题。有关使用小程序进行网络编程的信息,请参阅Java Applet Network Connection