gpt4 book ai didi

c - 进程之间,通过msg共享一个socket。使用套接字 getpeername 结果是 0.0.0.0 没有任何错误

转载 作者:行者123 更新时间:2023-11-30 18:06:13 26 4
gpt4 key购买 nike

进程之间,有一个通过msg共享的socket。通过socket,尝试获取远程连接信息。但 getpeername 结果是 0.0.0.0 没有任何错误。

即使我检查了/proc/net/tcp 也没有连接。

这是我的详细实现。

  1. 对于Web服务器,lighttpd接收http连接
  2. 网络服务器将接受的套接字绕过到进程
  3. fcgi 程序处理套接字(来自网络服务器),以实现简单的工作。
  4. 同时进行步骤3。一个进程从Web服务器接收共享套接字并处理主程序

[ 在上述过程中,步骤 3 和 4 同时进行 但第 3 步很简单。这样第3步就立即完成了, 然后网络服务器关闭请求。 之后只有第 4 步单独起作用。 ]

除了进程中的 getpeername(第 4 步)之外,所有其他套接字功能正常;就像选择/发送/接收

关于在进程之间的共享套接字中获取对等名称,无法正常工作?

最佳答案

据我所知,fcgis 是在服务器启动时生成的,而不是在第一个请求传入时生成的。因此,传递给 fcgi 的套接字无法连接到远程主机,因此 getpeername 无法返回与 localhost 不同的内容。 http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S2.2甚至指出 getpeername 返回 fcgis 错误。

如果这不能回答您的问题,我建议您显示一些代码。

关于c - 进程之间,通过msg共享一个socket。使用套接字 getpeername 结果是 0.0.0.0 没有任何错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5778199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com