Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用UDP和Boost ASIO进行文件套接字I/O_C++_Boost_Udp_Boost Asio - Fatal编程技术网

C++ 使用UDP和Boost ASIO进行文件套接字I/O

C++ 使用UDP和Boost ASIO进行文件套接字I/O,c++,boost,udp,boost-asio,C++,Boost,Udp,Boost Asio,所以我尝试在我的FreeBSD服务器上使用boost.log和syslog接收器,这些服务器运行rsyslogd并在文件套接字上侦听UDP数据。显然这在FreeBSD的土地上有效。实际上,文件套接字是一个dgram套接字(telnet到文件套接字是另一个在FreeBSD中工作的东西): 无论如何,boost.log将不会与文件套接字通信,只与IP地址通信。我的计划是在常规的基于IP的UDP服务器之间代理信息,我的应用程序将其中继到文件套接字。从理论上讲,这应该很有效 但是,我找不到任何方法让AS

所以我尝试在我的FreeBSD服务器上使用boost.log和syslog接收器,这些服务器运行rsyslogd并在文件套接字上侦听UDP数据。显然这在FreeBSD的土地上有效。实际上,文件套接字是一个dgram套接字(telnet到文件套接字是另一个在FreeBSD中工作的东西):

无论如何,boost.log将不会与文件套接字通信,只与IP地址通信。我的计划是在常规的基于IP的UDP服务器之间代理信息,我的应用程序将其中继到文件套接字。从理论上讲,这应该很有效

但是,我找不到任何方法让ASIO通过UDP与文件套接字甚至文件套接字进行通信。我知道可能有使用ASIO处理文件I/O的方法,但这似乎是一个困难的谷歌搜索-没有相关的出现。只有少数事情(在这个网站上)必须处理Windows文件I/O和ASIO,最多

理想情况下,我会寻找像这样的东西(尽管这根本不存在):

但我会接受任何有用的东西。

你要找的东西

$ telnet /var/run/log
Trying /var/run/log...
/var/run/log: Protocol wrong type for socket
socket.send_to(boost::asio::buffer(data, length),
               boost::asio::ip::udp::endpoint(boost::asio::ip::file_address("/var/run/log"), port);