Socket一次Recv接受的字节有限制么?
答案是:有。大约 5-15KB ,默认 具体 和什么有关系我也不知道。反正我测试的是:16371字节。win7 x64。
可以使用setSockOpt来设置 recvbuf or sndbuf 的大小,但是 我的建议还是控制 每次接受的字节数 控制在一定范围 比如 5KB。因为即使设置了,还是可能会接受到 较小的字节数。
关于 Socket的用法 更重要的就是 如何对数据 进行处理了。涉及到 处理的算法。
比如 你要接受很大的buffer,可以设置足够的buffer,然后接受,接受少了,继续 接受,但是在buffer+bufferOffset的位置接受,bufferOffset自己根据已接受的字节数增加。直到其总共接受的足够 再处理。
另外 还存在 一个 socket Send的包 可能 会追加到前面的 Socket Send的包 。这样 你的Send的数据 里面有自定义头信息,就会不是在第一个字节,要进行处理。
更安全的方法就是 接受的buffer 一个字接一个字节的处理。。。感觉效率可能会低吧。。
参考:
setsockopt设置socket状态
http://baike.baidu.com/view/569217.htm
转载于:https://www.cnblogs.com/ayanmw/archive/2012/09/05/2671582.html
Socket一次Recv接受的字节有限制么?相关推荐
- socket c语言 AF_TIPC,socket编程 send() recv() sendto() recvfrom()
socket编程 send() recv() sendto() recvfrom() int socket( int af, int type, int protocol); af: 指定一个协议簇( ...
- linux Socket send与recv函数详解
转自:http://www.cnblogs.com/blankqdb/archive/2012/08/30/2663859.html linux send与recv函数详解 1 #include &l ...
- linux socket中 send recv函数的 flags参数
int send(int s, const void *msg, size_t len, int flags); flags取值有: 0: 与write()无异 MSG_DONTROUTE:告诉内核 ...
- java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园
服务器发送一条数据如: Java代码 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStrea ...
- socket的阻塞模式和非阻塞模式(send和recv函数在阻塞和非阻塞模式下的表现)
socket的阻塞模式和非阻塞模式 无论是Windows还是Linux,默认创建socket都是阻塞模式的 在Linux中,可以再创建socket是直接将它设置为非阻塞模式 int socket (i ...
- OSI七层、TCP/IP五层、UDP、TCP的socket编程(服务端及客户端)、字节序转换、多进程以及多线程服务端的实现
1.网络以覆盖范围划分:局域网/城域网/广域网 互联网/因特网 以太网/令牌环网--组网方式 2.在网络中必须能够为一表示每一台主机,才能实现点到点的精确通信 IP地址: ...
- socket使用(recv踩坑)
想要写一个client用户端和一个server服务器端,实现客户端向服务器端发送图片文件,服务器端进行处理,并返回处理结果 client.py import socket from tqdm impo ...
- python socket通信 recv 丢包_用clumsy模拟丢包测试socket库的失败重传
用python的socket库写了通信小程序,现在我需要通过软件模拟出在网络极差的情况下,socket底层解决丢包问题的能力怎么样,我一开始想的是分别在linux和windowns下分别测试,后来一想 ...
- 使用C++基于Socket编程实现文件下载
使用: (1)首先运行服务端,待服务端运行起来: (2)最后运行客户端,这里使用目标机器IP地址是本机: (3)输入下载文件的路径及文件(完成的路径),其中包含文件的类型,也就是后缀需要包含(代表需要 ...
最新文章
- 使用Python、OpenCV计算轮廓的中心
- 从头开始学习深度学习之卷积
- Java 并发编程:ThreadLocal 的使用及其源码实现
- 移动负载均衡技术(MBL)
- TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
- scheduledexecutorservice 的使用_使用J.U.C实现定时任务
- react 调用 html5,React-Native Webview 和H5交互的两种方式
- POJ1003/1004/1005/1207/3299/2159/1083/3094/2388解题(刷一波水题)
- 总结的太牛了,android实时推送!
- android四大组件之Activity以及常见的view处理
- ChipScope用法总结
- 如何修改RubyOnRails中ActiveRecord默认的表格名和外键字段映射关系?
- Cinema DNG raw视频处理
- springboot 解决 NoClassDefFoundError: redis/clients/jedis/util/SafeEncoder
- 假想的憧憬,浮云遮住了双眼,
- 形容词记忆(二):ful,ous,ant后缀常用词
- 系统架构设计基础(一)
- python 企查查爬虫_python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了
- pg批量插入_postgresql大批量数据导入方法
- sprintf() 格式化输出函数
热门文章
- python网络爬虫系列(二)——ProxyHandler处理器实现代理IP
- 天池 在线编程 双向取数(博弈DP)
- LeetCode 980. 不同路径 III(DFS+回溯)
- LeetCode 171. Excel表列序号(26进制转10进制)
- 01.神经网络和深度学习 W1.深度学习概论
- mqtt如何判断设备离线_反渗透纯水设备膜元件如何离线清洗?
- ajax 请求svg,jQuery append 到AJAX加载的SVG问题
- 前端demo:实现背景半透明,div与文本正常显示
- python 经典100例(1-20)
- HDFS NameNode重启优化