`
metaphy
  • 浏览: 344610 次
  • 性别: Icon_minigender_1
  • 来自: 大西洋底
社区版块
存档分类
最新评论

Java游戏,想要做成可局域网联机的那种,请问,底层协议应该用什么?

阅读更多
Java适合做网络开发,但大多是做HTTP类型的;就局域网通信来说,一般用什么技术/方式比较好?
打算做一个简单的Swing/AWT这样的Java2D棋牌类游戏,支持局域网联机就可以。考虑了几种方法:
1.WEB service/J2EE,这个基本是Http方式了,不适合
2.RMI,这个似乎也是Server-Client这样的调用方式,Server提供服务供Client调用
3.Socket;只是知道一个名,具体应该怎么做不太清楚,但我感觉这样可行。
分享到:
评论
16 楼 neora 2008-03-28  
fins 写道
搜一些相关的电子书来学习吧 我以前有很多这类的书 现在没在身边
明天给你列个单子  本本经典

最后补充一下: 我也建议局域网游戏用udp
udp最主要的好处就是快速易用
(看飞鸽的代码是个好主意 呵呵)

以前看过一些游戏的分析介绍, 据说暗黑还有cs都是基于udp的---不知道那个分析的人说的对不对 呵呵


cs完全基于udp的。
15 楼 centgo 2008-03-21  
nio提高服务器性能,保证数据的完整性。

ps:发现这里有相同想法的人真不少。最近我也准备写java的2D棋牌游戏。
14 楼 pufan 2008-03-20  
try jxta
13 楼 fire314159 2008-03-19  
I have made one software like 飞鸽 using UDP in java. It is easy to implement.

"Java2D的通信,说白了就是如何通知双方在各自的JPanel上画东西的,如何维护同一的数据 "

a software like vnc in swing is also one of my thoughts. I have made one, but bad in performance.
12 楼 lick 2008-03-19  
莫非我还处于程序员的初级阶段?
你们说的,我都没想过
11 楼 mathgl 2008-03-18  
游戏一般都用udp的吧。对于数据的完整性没有很高的要求。
10 楼 metaphy 2008-03-18  
fins 写道
搜一些相关的电子书来学习吧 我以前有很多这类的书 现在没在身边
明天给你列个单子  本本经典

最后补充一下: 我也建议局域网游戏用udp
udp最主要的好处就是快速易用
(看飞鸽的代码是个好主意 呵呵)

以前看过一些游戏的分析介绍, 据说暗黑还有cs都是基于udp的---不知道那个分析的人说的对不对 呵呵

Java网络协议方面的开发没怎么接触,所以有老虎吃刺猬的感觉;
Java2D的通信,说白了就是如何通知双方在各自的JPanel上画东西的,如何维护同一的数据
9 楼 fins 2008-03-18  
搜一些相关的电子书来学习吧 我以前有很多这类的书 现在没在身边
明天给你列个单子  本本经典

最后补充一下: 我也建议局域网游戏用udp
udp最主要的好处就是快速易用
(看飞鸽的代码是个好主意 呵呵)

以前看过一些游戏的分析介绍, 据说暗黑还有cs都是基于udp的---不知道那个分析的人说的对不对 呵呵
8 楼 metaphy 2008-03-17  
Nighthaven 写道
在google上随便搜了一下,第一页里找到这个
http://www.pudn.com/downloads40/sourcecode/game/detail140425.html
你去下载了试试吧。

想要更多就自己仔细搜一下吧,毕竟是你自己的任务么~~~

感谢。
不过这个网站上的代码,要想看一眼,先注册,后交钱,实在是很像某些X网站

7 楼 myreligion 2008-03-17  
组播群发,简单易用。

或者就是TCP,保障传输质量,省心省事。
6 楼 Nighthaven 2008-03-17  
在google上随便搜了一下,第一页里找到这个
http://www.pudn.com/downloads40/sourcecode/game/detail140425.html
你去下载了试试吧。

想要更多就自己仔细搜一下吧,毕竟是你自己的任务么~~~
5 楼 metaphy 2008-03-17  
引用
ps:其实有n多现成的用swing写得棋牌类游戏的源代码在网上,再写一遍真的没啥成就感。

兄台能否给几个链接学习一下?
4 楼 Nighthaven 2008-03-17  
Kaede 写道
这个游戏 最好采用C/S C用Swing吧,支持一下SUN的技术,并且L&F可以使你随时更换主题
:) 恩!采用UDP,广播方式

不过我总是对UDP不放心,UDP丢包的可能是有的,如果丢包了怎么办呢?

我觉得还是采用TCP的,传输安全放心。

可以 做一个Server 维护客户端的信息,呵呵 可能太传统了点

丢包是必然的,棋牌一类的回合制游戏应该是采取重发机制。
Kaede 写道

每个人都可以建主 就像传统的 即时战略游戏那样

如果是即时类的游戏,有些是选择丢包以后就直接跳到最新的状态,游戏里的表现就是人物瞬间移动(wow),有些是选择等待所有的包都到达(可能多次重发),游戏里的表现就是人物在停顿之后突然高速移动一段时间(war3)。

其实用tcp也不错,局域网游戏需要维护的链接很少,tcp编码起来省劲一些。但是如果事先不知道server的ip,还是需要用udp的组播方式先探测ip出来。
3 楼 Kaede 2008-03-17  
每个人都可以建主 就像传统的 即时战略游戏那样
2 楼 Kaede 2008-03-17  
这个游戏 最好采用C/S C用Swing吧,支持一下SUN的技术,并且L&F可以使你随时更换主题
:) 恩!采用UDP,广播方式

不过我总是对UDP不放心,UDP丢包的可能是有的,如果丢包了怎么办呢?

我觉得还是采用TCP的,传输安全放心。

可以 做一个Server 维护客户端的信息,呵呵 可能太传统了点
1 楼 Nighthaven 2008-03-16  
局域网联机考虑用udp协议的socket,可以参照一下飞鸽java版的源代码,其实编码量也很小。好处是任何人都可以是主机。
rmi编程起来自然是要简单一些(比较容易oo),棋牌类游戏对性能的要求也小,但是如果玩到一半主机掉了,就麻烦了。
如果对底层不感兴趣的使用jgn。
project darkstar据说也有用于小规模联机游戏的api,我没用过,听说而已。
http的我也没试过,不过坛子里这么多java ee高手

ps:其实有n多现成的用swing写得棋牌类游戏的源代码在网上,再写一遍真的没啥成就感。

相关推荐

    java课程设计:基于java实现的中国象棋游戏-支持局域网联机对战.zip

    java课程设计:基于java实现的中国象棋游戏-支持局域网联机对战.zip java课程设计:基于java实现的中国象棋游戏-支持局域网联机对战.zip java课程设计:基于java实现的中国象棋游戏-支持局域网联机对战.zip java课程...

    Java五子棋局域网联机版

    Java编写的可以实现局域网联机的五子棋游戏,联机部分由Socket编程完成。代码简洁清晰,界面美观。 先由一台创建主机,另一台电脑可以输入主机ip进行连接。也可以在自己电脑上测试,输入环回IP 127.0.0.1可以在自己...

    基于java实现的中国象棋游戏-局域网联机对战

    【作品名称】:基于java实现的中国象棋游戏-局域网联机对战 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: java...

    WinKawaks_1.45局域网联机方法.pdf

    WinKawaks局域网联机方法 WinKawaks 1.45是款功能强大的街机游戏模拟器,支持多种街机游戏的模拟。借助Kaillera服务器端,可以实现局域网联机,多人共同游戏。下面将详细介绍WinKawaks 1.45局域网联机方法。 硬件...

    《暗黑破坏神3》局域网联机教程参考.pdf

    《暗黑破坏神3》局域网联机教程参考.pdf 是一份关于暗黑破坏神3 游戏的局域网联机教程参考文件,旨在帮助玩家实现暗黑破坏神3 的局域网联机游戏体验。该文件提供了详细的安装和配置步骤,涵盖了暗黑破坏神3 游戏的...

    WinKawaks 1.45局域网联机方法.pdf

    WinKawaks 1.45 局域网联机方法 WinKawaks 1.45 是一个流行的街机游戏模拟器,它可以让用户在局域网中进行游戏对战。为了实现 WinKawaks 1.45 局域网联机,需要满足一定的硬件条件和软件条件。硬件条件至少需要两台...

    UE4局域网游戏开发适用于多人的局域网联机开发

    6.局域网网络复制,组件复制,蓝图复制,事件复制,详细的介绍了UE4局域网的复制模块。7.选择角色,是否加入游戏,个人房间的创建,房间设置。8.游戏设置,声音,角色,分辨率设置等。9.死亡次数,击杀敌人次数,...

    cs1.6局域网联机教程_cs联机局域网图解教程.pdf

    CS1.6 局域网联机教程是一种局域网游戏联机方式,允许玩家在同一个局域网中进行游戏联机。下面是关于 CS1.6 局域网联机教程的详细知识点: 一、下载安装腾讯对战平台 要想进行 CS1.6 局域网联机,首先需要下载安装...

    自己用C#写的找茬程序,可单机可局域网联机

    【标题】:“自己用C#写的找茬程序,可单机可局域网联机” 在编程领域,创建一个找茬游戏,也被称为“找不同”游戏,是一种常见的练习项目,它结合了图像处理和用户交互。这个项目是用C#语言编写的,C#是一种广泛...

    可以局域网联机对战的五子棋游戏.zip

    《局域网联机对战五子棋游戏的Python实现详解》 在计算机科学与软件开发领域,Python语言因其简洁易学、丰富的库支持而深受程序员喜爱。本项目"可以局域网联机对战的五子棋游戏.zip"正是一个以Python为基础,实现了...

    WinKawaks联机局域网打游戏.pdf

    WinKawaks 联机局域网游戏设置指南 本文档旨在提供 WinKawaks 联机局域网游戏设置指南,旨在帮助用户快速建立局域网游戏环境,实现联机游戏体验。 WinKawaks 简介 WinKawaks 是一款流行的街机游戏模拟器,允许...

    UE4 局域网多人联机项目

    其中包含背包系统,动画系统,角色生成系统,计时器,敌人生成系统,UI系统,救人系统(模仿吃鸡救人),子弹后坐力系统,十字准心位置,掉血系统,伤害系统,UMG界面布局系统,一套完整的局域网联机项目。

    局域网五子棋Java版.rar

    【标题】中的“局域网五子棋Java版”表明这是一个使用Java编程语言开发的五子棋游戏,专为局域网内的玩家设计。在局域网环境中,玩家可以通过网络连接在同一平台上对战,享受棋类游戏的乐趣。 【描述】中的内容重复...

    坦克大战局域网联机对战版

    《坦克大战局域网联机对战版》是一款基于网络技术实现的多人在线游戏,它允许玩家通过局域网进行实时的对战。这款游戏的源代码公开,为开发者提供了研究和学习的机会,尤其是对于那些对游戏开发、网络编程以及多人...

    winkawaks1.45局域网联机方法.pdf

    WinKawaks 1.45 是一款流行的街机游戏模拟器,它允许玩家在局域网中进行联机游戏。下面是 WinKawaks 1.45 局域网联机方法的详细介绍。 硬件条件 至少需要两台电脑,通过局域网连接,两台电脑上都需要安装 WinKawaks...

    vc++ 五子棋 实现局域网 游戏 联机对战 很好玩

    《VC++实现局域网五子棋游戏:联机对战技术详解》 五子棋是一种深受人们喜爱的智力游戏,而将它移植到计算机上并实现局域网联机对战,无疑增加了游戏的趣味性和互动性。本文将深入探讨如何使用VC++编程语言,设计并...

    Unity局域网联机插件 Wifi-Hotspot Local Multiplayer

    Unity局域网联机插件“Wifi-Hotspot Local Multiplayer”是专为Unity开发者设计的一个强大工具,它简化了在局域网环境下实现多玩家游戏的开发过程。这款插件由Unity官方提供,确保了高质量和良好的兼容性,使得...

    UE4局域网联机简单案例

    此项目为 非常简单的一个UE4局域网联机案例,内含蓝图节点,部分蓝图节点功能已标注,可供大家参考学习。

Global site tag (gtag.js) - Google Analytics