服务器/客户端模式

码侬 2011-04-01 09:12:44
想做一个游戏房间,(如中国象棋的房间),如何做?

尤其是服务器怎么做?

每一个客户端建立一个连接吗? 怎么更新对手的信息?
...全文
259 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
码侬 2011-04-02
  • 打赏
  • 举报
回复
已经实现了 就是用Observer模式,多谢各位
liutengfeigo 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 pathuang68 的回复:]

楼主先必须学会基本的socket编程、多线程编程,然后再来考虑你想的这个项目。
[/Quote]
就是这个.
pathuang68 2011-04-01
  • 打赏
  • 举报
回复
楼主先必须学会基本的socket编程、多线程编程,然后再来考虑你想的这个项目。
码侬 2011-04-01
  • 打赏
  • 举报
回复

码侬 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 luciferisnotsatan 的回复:]
这个命题大了点。
lz找本书或者google下,研究研究。
要不你把你的想法说出来,让别人改进下。
[/Quote]

唉 我是没有想法啊,无从下手啊。


就是想做一个局域网象棋对战游戏,玩家计入房间,选择一个座位。有两个玩家坐在了同一个桌上,即可开始游戏。

用observer模式,棋局是目标,客户端是观察者。

一个桌便要创建一个目标,如果一个房间容纳40个人,便有20个桌子,创建20个目标,创建40个观察者。
请问是这样吗?

观察者和客户端怎么用socket联系?

客户端怎么改变目标?
luciferisnotsatan 2011-04-01
  • 打赏
  • 举报
回复
这个命题大了点。
lz找本书或者google下,研究研究。
要不你把你的想法说出来,让别人改进下。
tangsun1227 2011-04-01
  • 打赏
  • 举报
回复
服务器多线程 就可以了。更新的话用observer模式
c_losed 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gao_zilai 的回复:]

多谢回复,我的意思是,服务器程序该怎么写?
怎么只给自己的对手更新数据,而不会更新到其他桌的数据?
数据在服务器怎么组织,保存?
[/Quote]
这个就要需要数据库了吧
看你的选择 小型 中型还是大型
链表方面不熟。。。
说下大概思路
A表 保存IP username level 等信息
B表 同样信息

如果A表里一用户C和B表里用户D对战
可以根据username为关键词进行更新
毕竟这个是唯一的

就想叫yoko 2011-04-01
  • 打赏
  • 举报
回复
服务器多线程加各种消息包头标志位
码侬 2011-04-01
  • 打赏
  • 举报
回复
多谢回复,我的意思是,服务器程序该怎么写?
怎么只给自己的对手更新数据,而不会更新到其他桌的数据?
数据在服务器怎么组织,保存?
c_losed 2011-04-01
  • 打赏
  • 举报
回复
点对点的吧
赢的规则在服务器设置好
客户端落子后 -> 是否赢
不赢 则更新对手棋盘信息
赢 则直接在对手棋盘显示

乱语之 仅供参考
quwei197874 2011-04-01
  • 打赏
  • 举报
回复
服务端最好用iocp.
wing_0706 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 pathuang68 的回复:]
楼主先必须学会基本的socket编程、多线程编程,然后再来考虑你想的这个项目。
[/Quote]
up!!!!

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧