java - UDP Code客户端服务器架构

标签 java android multithreading udp client-server

您好,我在 android 上开发了一款游戏。现在我想在 wifi 或 3G 上玩。 我有游戏数据包,我想将其从客户端(移动)发送到服务器,然后再发送到另一个客户端 2(移动)。

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

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

谁能帮我处理代码,或者为它编写代码的过程。

提前致谢。

最佳答案

从真正意义上的连续不断,这是做不到的。以太网不支持连续的点对点数据流,为此您需要串行电缆或 ATM 之类的东西。

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

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

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

关于java - UDP Code客户端服务器架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462296/

相关文章:

java - 调用方法接收器?

java - 从 HttpServletRequest 对象获取发布的 XML

android - 如何使用支持 FileProvider 将内容共享给其他应用程序?

java - UI线程或后台的Android音乐播放器

c# - 如果我在整个运行过程中都需要一次性用品怎么办?

java - 使用 RSS 项目的 getValue 获取 <image> 标签中的字符串 - Android

java - 鼠标显示颜色

java - 如何使用 if 语句中的值?

Android 支持屏幕是否可调整大小或任何密度?

c# - picbox.BorderStyle = BorderStyle.FixedSingle | picbox.BorderStyle = BorderStyle.FixedSingle |跨线程操作无效