接受返回的套接字 ID 0——这是预期的吗?
Accept returning socket ID of 0 -- Is it expected?
自从过去两天以来,我一直在调试一些东西,似乎在我的 linux m/c 上,accept 返回的套接字 ID 为零。
fd = accept(unix_domain_socket,
(struct sockaddr *) &new_connection,
&new_conn_length);
我看到 fd 正在返回 0 -- 这有效吗? 0 是有效的套接字 fd 编号吗?
是的。 -1 表示失败,但 0 表示有效。不过,通常文件描述符零被标准输入占用。
任何非负值都是成功。
是的,可以预料。
通常一个进程默认在 fds 下打开,索引为:
0 : stdin
1 : stdout
2 : stderr
如果您的进程有意或无意地关闭了 fd '0',那么下一个 fd 请求可以选择第 0 个索引。
自从过去两天以来,我一直在调试一些东西,似乎在我的 linux m/c 上,accept 返回的套接字 ID 为零。
fd = accept(unix_domain_socket,
(struct sockaddr *) &new_connection,
&new_conn_length);
我看到 fd 正在返回 0 -- 这有效吗? 0 是有效的套接字 fd 编号吗?
是的。 -1 表示失败,但 0 表示有效。不过,通常文件描述符零被标准输入占用。
任何非负值都是成功。
是的,可以预料。 通常一个进程默认在 fds 下打开,索引为:
0 : stdin
1 : stdout
2 : stderr
如果您的进程有意或无意地关闭了 fd '0',那么下一个 fd 请求可以选择第 0 个索引。