代码之家  ›  专栏  ›  技术社区  ›  mway

为什么socket_connect()会返回错误2:“没有这样的文件或目录”?

  •  2
  • mway  · 技术社区  · 14 年前

    netstat 显示以下内容:

    Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
    tcp4       0      0  *.30000                *.*                    LISTEN
    

    但是,在PHP中,如果我使用以下几行简单的代码:

    $sock = socket_create(AF_UNIX, SOCK_STREAM, 0);
    socket_connect($sock, '127.0.0.1', 30000);
    

    我得到以下信息:

    Warning: socket_connect() [function.socket-connect]: unable to connect [2]:
    No such file or directory in /foo/bar/baz.php on line 8
    

    这是正确的协议吗( 0 )用于IPC套接字?这可能是我忽略了的愚蠢的事情-任何想法都会被感激的。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Nikolai Fetissov    14 年前

    替换 AF_UNIX 具有 AF_INET (或 PF_INET -见 Protocol and address families socket_create 调用创建 Unix socket -映射到文件系统上的对象,因此会显示错误消息。