文章目录

  • 1 突破Windows下select64的限制

1 突破Windows下select64的限制

在实际测试中发现当select中超过64时便无法收发数据,这个目前没有找到原因,我也想不明白。由于FD_SETSIZE的默认值为64,所以我们最多只能加入64个fd。服务端出了1个监听sock,还可以加入63个跟客户端通信的sock。但是当有64个客户端时,我们最多只能加入63,这个和前面一种情况没什么区别啊?为什么就无法通信成功呢?

为什么呢?先放在这里,日后有能力再来处理。

突破64的限制很简单,直接将FD_SETSIZE这个宏的数值改掉即可。

#ifdef _WIN32
#define WIN32_LEAN_AND_MEAN
#define FD_SETSIZE      4096
#include <Windows.h>
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")#else
#include <unistd.h>
#include <arpa/inet.h>
#include <string.h>typedef int SOCKET;
#define INVALID_SOCKET  (SOCKET)(~0)
#define SOCKET_ERROR            (-1)
#endif

参考资料:

  1. C++ 百万并发网络通信引擎架构与实现 (服务端、客户端、跨平台) Version 1.0

突破Windows下select64的限制相关推荐

  1. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  2. Windows下谨慎使用动态磁盘

    电脑上的硬盘(磁盘)原本为动态分区,昨天换了一块新的1T的硬盘后,就把旧硬盘改装成移动硬盘了,但是改成移动硬盘后电脑无法识别出来,经检测发现是动态分区的问题.结合之前的经历,个人建议要谨慎使用动态磁盘 ...

  3. plink源码_哔哩哔哩 | 在windows下如何使用plink进行GWAS分析?

    1. 为什么要在windows下操作? 之前写了一个GWAS使用plink的入门教程(笔记 | GWAS 操作流程3:plink关联分析--完结篇,笔记 | GWAS 操作流程1:下载数据),因为是在 ...

  4. php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法

    本文实例讲述了PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法.分享给大家供大家参考,具体如下: 1.php mail()函数在windows不能用,需要安装sen ...

  5. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  6. Windows下超详细安装Anaconda3以及jupyter notebook

    Anaconda是一个软件包管理器,一个环境管理器以及一个Python发行版,其中包含许多开源软件包的集合(numpy,scikit-learn,scipy,pandas等).如果在安装Anacond ...

  7. 在windows下配置pthread多线程

    Pthread是由POSIX提出的一套通用的线程库,在linux平台下,它被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的win ...

  8. docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考

    我写的文章永远都是那么的又臭又长又菜. 前言 上次写了一篇有关 SSRF 打 Redis 主从的文章,居然被人喷了!!!说我根本就没有复现过张嘴就来???我没有理会,然后又有朋友在群问,Redis 在 ...

  9. windows下rpc框架thrift的环境配置

    windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rp ...

最新文章

  1. 想进入系统CMD?请输入密码
  2. java程序员求职计划_2017年java程序员面试经验(500字)
  3. WCF后续之旅(10): 通过WCF Extension实现以对象池的方式创建Service Instance
  4. ffmpeg加入libass
  5. WebClient与WebRequest差异
  6. 电脑入门完全自学手册_3DMAX零基础入门到精通的学习路线和教程
  7. opencascade架构_基于OpenCASCADE的CAD平台分析报告
  8. Fragment与Acitvity通信
  9. WebView断网提示
  10. 三 spring源码解析--- Bean解析接口结构分析
  11. Word2013 设置默认缩进
  12. android studio执行 Information:Gradle tasks [:app:assembleDebug]失败处理
  13. android gdb gdbserver
  14. Python使用webdriver爬取百度文库
  15. 云计算 概念 是什么
  16. to be ruled from Windows Space about C++
  17. [css]我要用css画幅画(七) - 哆啦A梦
  18. 【数据库】MySQL入门
  19. JetBrains.ReSharper 字典
  20. 数字图像处理第八章----图像压缩

热门文章

  1. 【UAV】陀螺仪数据分析,以维特智能 JY901B 为例
  2. 2.6 处理数据不匹配问题-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  3. 这个口罩小朋友戴上就不肯脱!真相原来是这样!
  4. linux 32库路径,linux – 共享库如何在64位/ 32位混合系统中工作?
  5. 微服务基础架构的5个关键问题
  6. Linux基础命令---more
  7. 作为一个前端,可以如何机智地弄坏一台电脑?
  8. split命令用法(shell)
  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入
  10. 性能计数器取网卡流量