そのため、rsyslogd を実行し、ファイル ソケットで UDP データをリッスンする FreeBSD サーバーの syslog シンクで boost.log を使用しようとしています。どうやらこれは FreeBSD ランドで動作します。実際、ファイル ソケットは dgram ソケットです (ファイル ソケットへの telnet は、FreeBSD で機能する別のものです)。
$ telnet /var/run/log
Trying /var/run/log...
/var/run/log: Protocol wrong type for socket
いずれにせよ、boost.log はファイル ソケットとは通信せず、IP アドレスのみを使用して通信します。私の計画は、アプリケーションがファイル ソケットに中継する通常の IP ベースの UDP サーバー間で情報をプロキシすることです。理論的には、これでうまくいくはずです。
ただし、ASIO が UDP を介してファイル ソケット、またはファイル ソケットと通信する方法がまったく見つかりません。ASIO を使用してファイル I/O を操作する方法があるかもしれないことは理解していますが、これは難しい Google 検索のようです。関連するものは何も表示されません。WindowsファイルI / OとASIOを処理する必要があるのは、せいぜい(このサイトにある)ほんのわずかです。
理想的には、次のようなものを探しています (ただし、これはまったく存在しません)。
socket.send_to(boost::asio::buffer(data, length),
boost::asio::ip::udp::endpoint(boost::asio::ip::file_address("/var/run/log"), port);
しかし、うまくいくものは何でも取ります。