游戏服务器的工作模式是什么样子的?

2015-12-08 00:20:45 +08:00
 lawlietxxl

最简单经典的比如说 war3 的局域网游戏,它是如何实现的?特别是如何 read 和 write 数据的?
楼主猜想如下:
使用的是 socket ,对应于现在的就是 tcp connection
socket 的 read 和 write 写在无限循环里面,当胜利的时候退出循环。

最近在写一个卡牌服务器练手,所以有此疑惑(虽然是不同的游戏,但是其实归根结底有些模式是类似的),希望各位大大能够解答。

2598 次点击
所在节点    编程
4 条回复
Magnus1k
2015-12-08 00:36:58 +08:00
http://bindog.github.io/blog/2015/03/10/synchronization-in-multiplayer-networked-game-lockstep/
http://blog.sina.com.cn/s/blog_674f1bd20101omv7.html
大多数 RTS 都是这样进行网络通讯的。

卡牌游戏并没有那么复杂,只要用最简单的异步模式写几个消息来进行通讯就可以了。
lawlietxxl
2015-12-08 00:41:26 +08:00
@Magnus1k 感谢!请问异步的意思就是非阻塞的模式,是吗?可以这么理解吗?
LINAICAI
2015-12-08 01:03:06 +08:00
我想走的是 TCP/IP 协议的 UDP SOCKET?
Magnus1k
2015-12-08 01:03:15 +08:00
@lawlietxxl 其实怎么处理消息都无所谓,同步异步处理都可以,只是一般为了不阻塞客户端的表现,大都是采取异步模式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX