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

LibUV从现有套接字创建UDP流

  •  0
  • Acorn  · 技术社区  · 7 年前

    我对unix的工作原理知之甚少,请原谅我的无知。

    /data/sock/socket .

    我想用LibUV将数据发送到那个套接字,但我不确定该怎么做。

    我目前已将其设置为创建自己的套接字,

    uv_udp_t m_socket;
    uv_udp_send_t m_send_req;
    sockaddr_in m_addr;
    
    uv_udp_init(uv_default_loop(), &m_socket);
    uv_ip4_addr("0.0.0.0", 8008, &m_addr);
    
    char buff[6] = "Hello\0";
    auto buf = uv_buf_init(buff, 6);
    uv_udp_send(&m_send_req, &m_socket, &buf, 1, (const struct sockaddr*)&m_addr, NULL);
    

    如何使用文件系统上的套接字,而不是使用通过代码创建的套接字?

    1 回复  |  直到 7 年前
        1
  •  1
  •   yzt    7 年前

    这些套接字称为“本地域”套接字,而不是UDP套接字。幸运的是,LibUV确实支持这些(显然,只有在UNIX上才支持;尽管在Windows上,同一个libuvapi在后台使用“命名管道”)

    无论如何。。。简而言之,您必须使用 空气污染指数(即。 uv_pipe_init uv_pipe_bind() / uv_pipe_connect ,)而不是 uv_udp_* 功能。

    您可以找到LibUV管道API的文档 here

    推荐文章