単純に UDP で、メッセージを受け取って書き出すだけなので、syslog に則ったフォーマットである必要も無いです。boost::asio::io_service はクライアント側で使うには重いぞなもし…って場合は、以下のような感じでいけると思います。
void udp_send( const char* buf, size_t len ) {
WSAData wsaData;
SOCKET sock;
struct sockaddr_in addr;
if( !WSAStartup(MAKEWORD(2,0), &wsaData) ) {
sock = socket(AF_INET, SOCK_DGRAM, 0);
if( sock != INVALID_SOCKET ) {
addr.sin_family = AF_INET;
addr.sin_port = htons(514);
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
sendto(sock, buf, len, 0, (struct sockaddr *)&addr, sizeof(addr));
closesocket(sock);
}
WSACleanup();
}
}
0 件のコメント:
コメントを投稿