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;
        }
    }

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