[英]LibUV create UDP stream from existing socket
我对Unix的工作原理知之甚少,所以请原谅我的无知。
我在Linux机器上有一个指向套接字的路径/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);
如何使用文件系统上的套接字,而不是使用通过代码创建的套接字?
这些套接字称为“本地域”套接字,而不是UDP套接字。 幸运的是,LibUV确实支持这些功能(显然,仅在UNIX上;尽管在Windows上,相同的LibUV API在后台使用“命名管道”。)
总之...总之,您必须使用管道 API(即uv_pipe_init
和uv_pipe_bind()
/ uv_pipe_connect
)来代替uv_udp_*
函数。
您可以在此处找到LibUV管道API的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.