c# - 优化套接字字节数据

标签 c# sockets optimization byte

我正在编写一个简单的 I/O 类,以便在多人游戏中使用。实际上一切都很好,但我正在尝试找到一种方法来优化它的整体性能和数据包大小。 类(class)是here

还有,几天前我发现this类并看到它直接在位上工作。这样做会更好地改进我的类(class)吗?

感谢并为糟糕的英语感到抱歉。

编辑: 我正在使用 TCP,数据包布局是 header (单字节),后跟熵数据(字符串、Int16、Int32、Int64、字节和字节数组)。 数据包最大大小为 4kb。

最佳答案

and the packet layout is the

  • header (single byte)
  • String
  • Int16
  • Int32
  • Int64
  • byte
  • byte array

如果您不能减小任何字段的大小,则无法进一步优化该包。

4kb 数据大约是 32kbit/s,这意味着您可以在 10mbit/s 的连接上每秒将一个包传输给大约 300 个客户端。你是说你需要每秒处理更多的客户端?

优化应用程序的最佳方法可能是使用缓冲池,而不是为每个要发送的数据包创建新的缓冲区。

一如既往:在真正需要之前不要进行优化,因为您可能不得不牺牲可读性。

关于c# - 优化套接字字节数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9053593/

相关文章:

c# - 为 ServiceStack Markdown Razor 包装内容的 HtmlHelper 扩展

c# - 使用 FileSystemWatcher 从文件中获取新行

c# - 具有可编辑枚举列的 Kendo MVC 网格

delphi - 从 Delphi 的套接字读取换行符

linux - SO_REUSEPORT 套接字服务器

C++ 套接字客户端断开连接

c - -funsafe-math-optimizations 中包含哪些优化?

c# - 如何将此同步方法转换为返回任务的方法?

c# - 我应该使用哪种优化算法来最大化时间限制的利润?

javascript - 行程优化