【问题标题】:Client/server-communication in Texas Hold'em德州扑克中的客户端/服务器通信
【发布时间】:2011-04-20 22:19:42
【问题描述】:

我目前正在用 Java 编写德州扑克 LAN 游戏。我的问题是如何进行客户端/服务器通信。

每次在餐桌上发生一些事情时,客户都需要被告知这一点,以便他们可以重新绘制他们的 GUI。此外,当玩家转牌时,他们需要能够弃牌、跟注等。

我如何最好地实现这一点?我查看了回调/RMI,但根据我的阅读,这可能会导致防火墙出现问题(?)

【问题讨论】:

  • 如果它是一个局域网游戏,你为什么要担心防火墙:)

标签: java client communication


【解决方案1】:

当您担心防火墙时,最好的方法是使用 HTTP,例如 Web 浏览器。好处是:

  • 协议众所周知
  • 有许多可用的客户端和服务器库,它们都经过充分测试
  • HTTP 不限于 Web 浏览器。任何程序都可以使用 HTTP。

缺点是服务器的推送消息不常用。当然,您可以从等待来自服务器的数据的每个客户端打开一个 HTTP 连接。

【讨论】:

  • +1。使用 HTTP 和端口 80 可以绕过许多防火墙障碍。 HTTPS 和端口 443 更好,因为它不太可能被代理拦截和重新格式化。 RMI 不能很好地与防火墙配合使用,因为它使用临时端口的方式。
【解决方案2】:

我会推荐关于套接字的 Java 教程:

http://download.oracle.com/javase/tutorial/networking/sockets/

给出了一个示例客户端/服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2011-09-05
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多