我正在编写一个使用 select() 的程序,给定一个要读取的 fd_set。
在程序中,我保存了两个 fd_sets:
1. fd_set 名为 DB,包含我可以处理的所有 fd。
2. fd_set 名为 toSelect - 我将其发送到 select() 方法,并在 select() 返回后稍后处理。
在调用 select() 之前,我正在这样做:
toSelect = DB;
为了将数据库中的所有 fd 复制到 toSelect fd_set。
由于我的程序运行得不太好(出现消息“连接被对等方重置”),我的代码可能有问题。
这个任务可以吗?
如果没有,如何在不使用operator=的情况下将一个fd_set复制到另一个?
谢谢。
最佳答案
不要执行 toSelect = DB
,而是尝试使用 FD_ISSET 和 FD_SET 宏将值从一个复制到另一个,然后查看问题是否仍然存在。
关于c - 运算符 = on fd_set - linux 套接字通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6114340/