我用mina传递一个10k左右的字节数组,格式是自己定位的,里面包含报文长度,文件和校验字节,客户端和服务端都分别设置了readBufferSize为10240,但是客户端发往服务端时,每次只能接受1k多一点,要循环接收9次左右,效率太低了,设置了readBufferSize为10240,目的就是为了 一次接受完毕的,但是要循环接受好多次,请问大神这是为什么啊?
1条回答 默认 最新
- Meditator_hkx 2015-11-04 09:45关注
一般来说,sendbuf 和 recvbuf代表发送和接收缓冲区大小,但它们并不代表实际发送或接收的字节数。题主所遇到的问题,根据我肤浅的理论知识,以为是tcpip协议本身的限制。在tcp面向连接通信时,是以字节流形式传输,每次传输字节大小不定,只是多次接收一定能够收完(稳定性);在UDP无连接通信时,是以数据报形式转发,但因为网络中存在数据报包大小限制,所以也不一定就以设置的最大发送缓冲区大小来收到~
解决 无用评论 打赏 举报
悬赏问题
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题