有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java UDP代码客户机-服务器体系结构

嗨,我已经在安卓上开发了一个游戏。现在我想在wifi或3G上玩。 我有游戏包,我想把它从客户端(手机)发送到服务器,然后再发送到另一个客户端2(手机)

我不知道如何用Java编写代码,将playPackets连续发送到服务器,并从服务器持续接收playPacket到客户端

我想我必须使用两个线程,一个用于发送,一个用于接收

有人能帮我写代码吗,或者帮我写代码的过程

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    据我所知,您需要的是一种在不干扰线程的情况下接收和发送消息的方法。这就是非阻塞IO所做的。您可以使用NIO,因为它在发送或(更重要的)接收消息时不会阻塞控制线程

    http://www.cordinc.com/blog/2010/08/java-nio-server-example.html http://download.oracle.com/javase/1.4.2/docs/guide/nio/example/index.html

  2. # 2 楼答案

    从最真实的意义上讲,这是不可能做到的。以太网不支持连续的点对点数据流,因此需要串行电缆或类似ATM的东西

    然而,您可以通过允许隐藏在上层的数据中的“突发”来近似连续数据流。根本无法保证底层网络能够每分钟发送或接收模拟连续数据流所需的最小数据包数

    UDP可以支持更高的传输速率,但有一个非常重要的警告:UDP数据包可以在任何时刻丢弃,而不会被实际接收。要使用UDP,您必须非常小心,以免丢失一些数据包,或数据包的无序交付扰乱您的游戏状态

    如果您确定可以接受UDP的限制,Sun / Oracle has a good introductory tutorial here