我们有一个用 C# 编写的 TCP 异步套接字游戏服务器,服务于许多并发连接。除了以下问题外,其他一切正常:
- 某些用户经常断开连接(并非所有人都介意)
- 连接速度较慢的用户性能下降
大多数面临此问题的用户都使用 GSM 连接(基于 CDMA 的便携式 USB 加密狗),并且信号强度通常很差。所以基本上他们的带宽很差。可能低于每秒 1KB。
我的问题:我们可以做些什么来使连接更稳定并提高性能,即使是较慢的连接?
我正在考虑客户端和服务器端的动态 TCP 缓冲区,但不确定由于为我的方向的每个连接动态执行此操作的开销而导致的性能下降甚至是正确的。
最大数据包大小小于 1 KB。
服务器和客户端上的当前 TCP 缓冲区大小为 16KB
任何关于如何在 C# 中为连接不良或慢速编写稳定的 anync 套接字代码的指针或参考资料都会有很大帮助。提前致谢。