【问题标题】:High performance socket server (like MMO)高性能套接字服务器(如 MMO)
【发布时间】:2017-07-21 20:20:38
【问题描述】:

我正在开发一个服务器项目(我想用它制作一个 MMO 服务器)。我创建了一些东西,但 IDK 是一个很好的系统。即是否有用于创建(帮助!)高性能套接字服务器(MMO)的 MMO 服务器教程/书籍?我将向每个连接的客户端发送/接收 5kb 数据(因为这是一个 MMO 系统),服务器必须处理 ~2000clients/s。谁能告诉我一个好的起点?

【问题讨论】:

  • 如果性能是一个问题,您将需要小心垃圾收集器。您可能会尽量避免在启动后进行动态内存分配。 (一般来说,我建议不要对这类事情使用垃圾收集环境。)

标签: c# performance sockets mmo


【解决方案1】:

那里:C# SocketAsyncEventArgs High Performance Socket Code;根据我从中学到的东西(以及其他一些资源),我编写了一个高性能 TCP 服务器,它可以处理 7000 多个客户端。

编辑:我在某种程度上研究过的其他好的 .NET 代码库是 fracture (F#)SocketAwaitableSuperSocket。我特别喜欢fracture,因为它简单(不幼稚)和智能缓冲池处理,但是(作为我使用过的版本)它没有为接受器提供单独的池;根据已经提供的池,我自己轻松完成了。

【讨论】:

  • 完美!你能告诉我一些其他的资源吗?或者这样就够了吗?
  • 这篇文章中描述了本质。但根据您的项目,您可能需要即兴创作。例如,我必须看到一个客户端(它是通过特定端口上的 GPRS 连接我的 GPS 调制解调器)静默超过 6 分钟,我必须生成警报并关闭它的连接。这很困难,因为客户端正在移动并且它的 IP 正在改变,所以我不得不关闭一些连接,但是调制解调器真的在另一个 IP 上向我发送数据。你可以用谷歌搜索这门课,但我现在没有什么特别的想法。
  • 是的,我能理解这一点。算法和技术可能因程序风格(用法)而异。
  • (我不是以英语为母语的人)我无意冒犯!我只是描述了我自己的项目!就这样!我很乐意提供更多帮助。但这就是我在互联网上的全部记忆。再次对不起;请。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多