c - 运算符 = on fd_set - linux 套接字通信

标签 c select

我正在编写一个使用 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/

相关文章:

c - 为什么此代码与单个 printf 的行为不同? ucontext.h

c# - 加密 UDP 数据包

Jquery 选择更改

mysql - 需要在mysql中准备一个ranklist

mysql - SQL 选择仅包含特殊字符的值

c++ - 如何将该程序从 C++ 转换为 C?

c - 格式 '%s' 需要类型为 'char *' 的参数

c - 将 printf 移动到不同的行会产生不同的输出? (C)

sql - Postgres 条件/混合排序

MySql 查询 - INSERT INTO 命令但仅不重复