最简单经典的比如说 war3 的局域网游戏,它是如何实现的?特别是如何 read 和 write 数据的?
楼主猜想如下:
使用的是 socket ,对应于现在的就是 tcp connection
socket 的 read 和 write 写在无限循环里面,当胜利的时候退出循环。
最近在写一个卡牌服务器练手,所以有此疑惑(虽然是不同的游戏,但是其实归根结底有些模式是类似的),希望各位大大能够解答。
1
Magnus1k 2015-12-08 00:36:58 +08:00 1
http://bindog.github.io/blog/2015/03/10/synchronization-in-multiplayer-networked-game-lockstep/
http://blog.sina.com.cn/s/blog_674f1bd20101omv7.html 大多数 RTS 都是这样进行网络通讯的。 卡牌游戏并没有那么复杂,只要用最简单的异步模式写几个消息来进行通讯就可以了。 |
2
lawlietxxl OP @Magnus1k 感谢!请问异步的意思就是非阻塞的模式,是吗?可以这么理解吗?
|
3
LINAICAI 2015-12-08 01:03:06 +08:00
我想走的是 TCP/IP 协议的 UDP SOCKET?
|
4
Magnus1k 2015-12-08 01:03:15 +08:00
@lawlietxxl 其实怎么处理消息都无所谓,同步异步处理都可以,只是一般为了不阻塞客户端的表现,大都是采取异步模式。
|