socket客户端连接mina客户端,发送频率过快,导致socket客户端,丢数据

在TCP协议环境下,由于socket客户端发送数据过快导致服务器接收不全,通过设置socket发送缓冲区大小解决了问题。mina客户端也出现类似丢数据情况,经分析发现是字节流多次被缓冲流引用造成数据丢失。解决方案是调整业务代码,避免循环中连续调用接收消息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tcp 协议为可靠协议,有任何问题,都是自己业务处理逻辑的原因

 开发中遇到的问题:

                 1.socket客户端发送数据过快,服务器未接收到。设置发送缓冲区socket.setSendBufferSize(1024*3);本人也不明白原理,但是这样确实得到解决

                 2.mina数据发送过快,导致socket客户端丢数据

测试工具:

解决方案(修改scoket端代码): 

                  因为数据包格式为6位的包体长度+真正数据,如:000480{"CD":"I","OD":"BJA00480_4D","TY":"T","ID":"BJA00480","PW":"123456","CC":"89860403101830313635","TM":"1547548173","SL":"5","LO":"113.825856,22.678187","SG":"31,0,0","JI":"5","HU":"0","LT":[{"B1":"F5000028D1","B2":"1","B3":"100","B4":"0","B5":"0"},{"B1":"F500003006","B2":"2","B3":"100","B4":"0","B5":"0"},{"B1":"F5000015D8","B2"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值