当前位置:  开发笔记 > 编程语言 > 正文

DatagramSocket和DatagramChannel之间的区别

如何解决《DatagramSocket和DatagramChannel之间的区别》经验,为你挑选了1个好方法。

对于大学本学期,我们必须以4人为一组编写网络游戏(java).我自愿为我的团队研究网络代码.

阅读java网络,似乎有两种UDP网络方法:

http://java.sun.com/j2se/1.4.2/docs/api/java/net/DatagramSocket.html 这是一个标准的UDP套接字,可以将数据包发送到任何端口的任何IP地址.

http://java.sun.com/j2se/1.4.2/docs/api/java/nio/channels/DatagramChannel.html 这是一种基于udp套接字构建的通道系统.我不完全确定它提供什么,除了只连接到一个客户端的能力,这在这种情况下不是很有用.

这些是唯一的选择吗?哪个最适合用于4-8名玩家的实时多人游戏?



1> bmargulies..:

你不是先问第一个问题.第一个问题是:什么消息传递规则最适合这个游戏?

对于少数用户来说,UDP完全比它的价值更麻烦.你必须担心丢失的数据包,你必须想出一些方法将数据打包成小包,yada,yada,yada.

在4-8播放器规模,您可以与Web服务互连并发送肥皂消息.这将为您处理所有数据序列化.哎呀,你甚至可以使用JMS.

至于你的文字问题,渠道是nio的一部分.它们支持多路复用等待,而套接字则不支持.如果你需要问'这些端口上有没有包给我?' 你想要频道.没有它们,您需要一个每端口线程.当然,假设您有多个接收数据的端口.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有