博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Socket一次Recv接受的字节有限制么?
阅读量:7043 次
发布时间:2019-06-28

本文共 461 字,大约阅读时间需要 1 分钟。

答案是:有。大约 5-15KB ,默认 具体 和什么有关系我也不知道。反正我测试的是:16371字节。win7 x64。

可以使用setSockOpt来设置 recvbuf or sndbuf 的大小,但是 我的建议还是控制 每次接受的字节数 控制在一定范围 比如 5KB。因为即使设置了,还是可能会接受到 较小的字节数。

关于 Socket的用法 更重要的就是 如何对数据 进行处理了。涉及到 处理的算法。

比如 你要接受很大的buffer,可以设置足够的buffer,然后接受,接受少了,继续 接受,但是在buffer+bufferOffset的位置接受,bufferOffset自己根据已接受的字节数增加。直到其总共接受的足够 再处理。

 

另外 还存在 一个 socket Send的包 可能 会追加到前面的 Socket Send的包 。这样 你的Send的数据 里面有自定义头信息,就会不是在第一个字节,要进行处理。

更安全的方法就是 接受的buffer 一个字接一个字节的处理。。。感觉效率可能会低吧。。

 

参考:

转载地址:http://fuzol.baihongyu.com/

你可能感兴趣的文章
TeeChart的最小步长和最大步长
查看>>
spring+springMVC中使用@Transcational方式管理事务的必须要配的东西。
查看>>
网络全民创业:95%电商生活得非常痛苦
查看>>
三种方法写监听事件
查看>>
hdu 2899 hdu 3400 三分/几何
查看>>
[转]World Wind学习总结一
查看>>
算法题一道
查看>>
滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(4月14日)...
查看>>
iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
查看>>
C# Struct结构体里数组长度的指定
查看>>
感知机原理小结
查看>>
Java动态代理与Cglib库
查看>>
系统性能不够原因可能是cpu不够,内存不够等等
查看>>
让div在另一个div中居中
查看>>
Linux indent
查看>>
dir for RequestHandler and request
查看>>
CoreCLR文档翻译 - GC的设计
查看>>
js-ES6学习笔记-Proxy(2)
查看>>
Spring Boot下Druid连接池+mybatis
查看>>
Session与Cookie解析
查看>>