相关疑难解决方法(0)

使用IOCP和UDP?

我很熟悉的东西输入/输出完成端口是当它涉及到TCP.

但是,如果我编写一个FPS游戏,或者需要低延迟的任何东西都可以成为交易破坏者 - 我希望立即响应玩家以提供最佳的游戏体验,即使以丢失一些空间数据为代价走.很明显我应该使用UDP,除了频繁发送坐标更新外,我还应该实现一种半可靠的协议(afaik TCP在UDP中引起数据包丢失,所以我们应该避免混合这两个)来处理聊天消息等事件,或者枪支丢失可能是至关重要的.

假设我的目标是适用于MMOFPS游戏的性能,该游戏允许在一个持久的世界中遇见数百名玩家,除了与枪支战斗之外,它还允许他们通过聊天消息等进行交流 - 这样的事实实际存在并且运作良好 - 查看PlanetSide 2.

网上有很多文章(例如来自msdn的文章)说重叠套接字是最好的,而IOCP是神层概念,但它们似乎并没有区分我们使用其他协议而不是TCP的情况.

所以几乎没有关于开发这样一个服务器时使用的I/O技术的可靠信息,我看过这个,但这个话题似乎备受争议,我也看到过这个,但考虑到第一个链接中的讨论,我不知道我是否应该遵循第二个假设,是否应该将IOCP与UDP一起使用,如果不是,那么在UDP方面,最具可扩展性和效率的I/O概念是什么.

或许我只是做了另一个过早的优化,目前还不需要提前思考?

考虑将其发布在gamedev.stackexchange.com上,但这个问题更适用于我认为的通用网络.

c++ performance networking udp iocp

13
推荐指数
2
解决办法
7676
查看次数

标签 统计

c++ ×1

iocp ×1

networking ×1

performance ×1

udp ×1