解决UDP高速发消息后, 服务端丢包问题
软件开发
发表时间:2016-11-08
更新时间:2016-11-28
增加 ReceiveBufferSize.
比如 Log2Window 中, 当把ReceiveBufferSize增加到1310720后, 即使客户端每秒发送四五万条消息, 连续发送100万条消息. 也没有消息丢失现象.
但如果使用默认的ReceiveBufferSize大小(65535). 高速发送10000条, 就回丢失大概1000条了.
但如果服务端的处理速度太慢. 这个方法也许不能解决根本问题. 但大部分情况下能够解决问题了.
UDP协议中, 如果buffer不够用了(buffer中的消息只有被读取后才会被移除). 后续的消息将被丢弃, 而且不产生任何警告信息.