繁体   English   中英

LibUV从现有套接字创建UDP流

[英]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_inituv_pipe_bind() / uv_pipe_connect )来代替uv_udp_*函数。

您可以在此处找到LibUV管道API的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM