网络库的游戏
本文关键字:游戏 网络 | 更新日期: 2023-09-27 18:05:45
我正在寻找一个库/框架,可以让我轻松实现这一点:
- 最小消息大小(理想情况下是-[16位消息id] +[可变长度消息参数])。
- 需要尽可能少的管道代码。
- TCP通信。
- 轻松处理数十个连接。
- 双向沟通。
我想使用类似wcf的方法,在这种方法中,我将创建契约(操作和数据),并将与客户端和服务器共享该汇编。或者我可以使用一些简约的绑定——比NetTcpBinding
更轻的绑定?
Lidgren。网络是一个非常简单的库,很容易集成到任何项目。我试了一下,用起来很方便。试试吧。
http://code.google.com/p/lidgren-network-gen3/你可能想检查Photon http://www.exitgames.com/
对于协议格式,我会查看Google的ProtoBuffers。它支持多种语言,包括c#。序列化小,非常快,可扩展,并且很容易在版本之间升级。
就运输而言,这可能更困难。坦率地说,. net的WCF无法胜任这项任务。建立在套接字上的原始TCP/IP很难正确管理。即使是在TcpListener的基础上构建也是困难的,但这是可能的。
那么什么是好的方法呢?考虑到双向要求,这个问题很难回答。我不确定我能指出任何一个库并说它有正确的答案。有几个可用的,都有自己的长处和弱点。这在很大程度上取决于项目的具体需求。祝你好运;)