答案是:有。大约 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接受的字节有限制么?相关推荐

  1. socket c语言 AF_TIPC,socket编程 send() recv() sendto() recvfrom()

    socket编程 send() recv() sendto() recvfrom() int socket( int af, int type, int protocol); af: 指定一个协议簇( ...

  2. linux Socket send与recv函数详解

    转自:http://www.cnblogs.com/blankqdb/archive/2012/08/30/2663859.html linux send与recv函数详解 1 #include &l ...

  3. linux socket中 send recv函数的 flags参数

    int send(int s, const void *msg, size_t len, int flags);  flags取值有: 0: 与write()无异 MSG_DONTROUTE:告诉内核 ...

  4. java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园

    服务器发送一条数据如: Java代码 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStrea ...

  5. socket的阻塞模式和非阻塞模式(send和recv函数在阻塞和非阻塞模式下的表现)

    socket的阻塞模式和非阻塞模式 无论是Windows还是Linux,默认创建socket都是阻塞模式的 在Linux中,可以再创建socket是直接将它设置为非阻塞模式 int socket (i ...

  6. OSI七层、TCP/IP五层、UDP、TCP的socket编程(服务端及客户端)、字节序转换、多进程以及多线程服务端的实现

    1.网络以覆盖范围划分:局域网/城域网/广域网   互联网/因特网   以太网/令牌环网--组网方式 2.在网络中必须能够为一表示每一台主机,才能实现点到点的精确通信            IP地址: ...

  7. socket使用(recv踩坑)

    想要写一个client用户端和一个server服务器端,实现客户端向服务器端发送图片文件,服务器端进行处理,并返回处理结果 client.py import socket from tqdm impo ...

  8. python socket通信 recv 丢包_用clumsy模拟丢包测试socket库的失败重传

    用python的socket库写了通信小程序,现在我需要通过软件模拟出在网络极差的情况下,socket底层解决丢包问题的能力怎么样,我一开始想的是分别在linux和windowns下分别测试,后来一想 ...

  9. 使用C++基于Socket编程实现文件下载

    使用: (1)首先运行服务端,待服务端运行起来: (2)最后运行客户端,这里使用目标机器IP地址是本机: (3)输入下载文件的路径及文件(完成的路径),其中包含文件的类型,也就是后缀需要包含(代表需要 ...

最新文章

  1. 使用Python、OpenCV计算轮廓的中心
  2. 从头开始学习深度学习之卷积
  3. Java 并发编程:ThreadLocal 的使用及其源码实现
  4. 移动负载均衡技术(MBL)
  5. TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
  6. scheduledexecutorservice 的使用_使用J.U.C实现定时任务
  7. react 调用 html5,React-Native Webview 和H5交互的两种方式
  8. POJ1003/1004/1005/1207/3299/2159/1083/3094/2388解题(刷一波水题)
  9. 总结的太牛了,android实时推送!
  10. android四大组件之Activity以及常见的view处理
  11. ChipScope用法总结
  12. 如何修改RubyOnRails中ActiveRecord默认的表格名和外键字段映射关系?
  13. Cinema DNG raw视频处理
  14. springboot 解决 NoClassDefFoundError: redis/clients/jedis/util/SafeEncoder
  15. 假想的憧憬,浮云遮住了双眼,
  16. 形容词记忆(二):ful,ous,ant后缀常用词
  17. 系统架构设计基础(一)
  18. python 企查查爬虫_python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了
  19. pg批量插入_postgresql大批量数据导入方法
  20. sprintf() 格式化输出函数

热门文章

  1. python网络爬虫系列(二)——ProxyHandler处理器实现代理IP
  2. 天池 在线编程 双向取数(博弈DP)
  3. LeetCode 980. 不同路径 III(DFS+回溯)
  4. LeetCode 171. Excel表列序号(26进制转10进制)
  5. 01.神经网络和深度学习 W1.深度学习概论
  6. mqtt如何判断设备离线_反渗透纯水设备膜元件如何离线清洗?
  7. ajax 请求svg,jQuery append 到AJAX加载的SVG问题
  8. 前端demo:实现背景半透明,div与文本正常显示
  9. python 经典100例(1-20)
  10. HDFS NameNode重启优化