zm1440017009 2019-01-15 11:39 采纳率: 0%
浏览 1605

fd_set在linux和windows上有区别

曾经在windows上用遍历fd _ set的方法完成向所有已连接的套接字发送消息的功能,现在想移植到Linux上,发现以前用的 fd _ count 都不能使用了,fd _ array也是。想要完成如下代码一样的功能,在Linux上应该怎么写呢,请各位大牛们指点一二。

for (u_int i = 0; i < socketSet.fds_bits; i++)//遍历每一个在fd_set中的套接字,fd_count为fd_set中的实际套接字数量
    {
        if (socketSet.fd_array[i] != server && socketSet.fd_array[i] != gateway)//如果该套接字不是服务器或网关
        {
            ret = send(socketSet.fd_array[i], clibuf, v + 4, 0);
            cout << socketSet.fd_array[i] << "=" << ret << endl;
        }
    }
  • 写回答

1条回答

  • bryant-xw 2019-04-06 22:34
    关注

    linux下和windows下的select模型下的fd_set是有区别的,不过不会影响select的跨平台性,你可以参考一下我总结的这篇博客~
    https://blog.csdn.net/bryant_xw/article/details/89032938

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码