
马士兵-javase实战项目-坦克大战网络编程版.ppt
17页Tank War 网络版 [*],手把手、一行一行演示项目制作,从版本1.9开始,1.9比较”干净” 不受图片 / 墙 / Blood等的干扰 认识项目”分支”的概念,,,,1.9,1.9.1,版本1.9.1,进行初步的修正 Direction 的修正 暂时去掉敌人坦克,系统简单模型图-Server,,server,TCP Listener,UDP Listener,接收客户端连接,转发游戏数据,版本1.9.2,建立Server 建立Client并和Server连接 问题: 要不要存储Client端TCP Socket?,UDP,,,,,,,,,版本1.9.3,客户端发送UDP端口 取得独一无二ID号 java.util.UUID 自己生成ID号 服务器端保存客户端信息,版本1.9.4 [*],多个客户联网,并发送坦克诞生的消息 服务器端建立UDP转发线程 客户端接收到后进行处理,版本1.9.5 [*],用多态进行消息的封装,版本1.9.6,修正TankNewMsg的处理,让后加入的Tank也能看到先加入的坦克 接到TankNewMsg后,也发送一个TankNewMsg,疑问:,关于TankNewMsg的回送 可以用TankAlreadyExistMsg替代 有必要接收多余的msg吗?服务器端不能提供些帮助吗? Tank移动消息的更精细控制 不依赖同步线程,加入x, y 位置变量,版本1.9.7,让客户端自己指定UDP端口 学习对话框的运用 Model Dialog vs Modeless Dialog,版本1.9.8,添加对于子弹的处理消息 MissileNewMsg,版本1.9.9,联网对战 根据id号设定坦克好坏 打自己,版本1.9.10,发送子弹死掉的消息 子弹应该具有自己的UUID RMI Remote Method Invocation,版本1.9.11,处理爆炸,不足之处,Server不够高效 协议不够精细 TankNewMsg TankAreadyExistMsg 子弹打中坦克后可否只发送一个消息 tankId id 被打中的tankId 同步线程 坦克退出后的服务器端处理 一段时间没有接收到数据后的处理 更加精细的内存控制,意见反馈, training@ mashibing2004@,。












