send_fail循环发送 客户端接受正常

原地起飞

send_fail

循环发送 手册上说的发送失败只加1但是我现在的情况是发送失败就一直循环发送,而且我这边测试的时候是正常接收的情况

客户端接收正常

3944 6 0
6个回答

walkor

send_fail失败原因参考手册 http://doc.workerman.net/315284

send_fail数字很大,一般是某个客户端连接缓冲区满导致(某个客户端接收速度小于服务端发送速度或者客户端停止接收数据导致)。缓冲区满业务仍然给这个客户端发送数据,那么send_fail会+1,业务多次调用send发送,会累加。你这个是业务多次发送累加的结果。并不是框架循环发送。

send_fail有数值一般也是正常现象,比如send时客户端已经断开,或者个别客户端缓冲区满业务仍然send都会增加数值,一般情况下开发者不必担心。

  • 暂无评论
原地起飞

我今天测试的情况是就发送了次就出现这样的情况了,刚开的页面测试 推送了一条消息,然后他就不停的发送给我 ,来再测试就没事了 这回咋都不出来之前的情况了 肯定不是客户端接收速度小于服务端发送速度或者客户端停止接收数据导致

缓冲区满是怎么回事?怎么设置缓存区?我现在就测试的几个设备缓存区就满了吗?应该怎么解决呢

  • 暂无评论
walkor

你问的手册都有,多看看手册吧,把手册都看懂。

  • 暂无评论
romy

手册上没说这个send_fail怎么解决啊

  • 暂无评论
walkor

首先send_fail不是workerman的问题。

根据手册原因有:
1、网络断开导致send_fail,这种无法避免
2、另外就是客户端停止接收数据导致缓冲区满,这种情况应该检查客户端问题
3、客户端接收速度长时间小于服务器发送速度导致缓冲区满,检查客户端性能以及提高服务器与客户端的网络带宽

  • 暂无评论
romy

有没有什么指导方向的文章啊,客户端缓冲区要怎么检查呢

  • 暂无评论
年代过于久远,无法发表回答
🔝