私はSyslogリスナーを作成しようとしていますが、これまでのところ、TCPを介して着信メッセージを受け入れるようにするのは得意ですが、UDPも機能させたいと思っています。
これは私が使用しているUDPサーバーコードであり、Pythonクライアントアプリを使用して機能します。Pythonクライアントアプリを使用するだけで動作する別のアプリもあります。
# Server program
# UDP VERSION
from socket import *
# Set the socket parameters
host = "localhost"
port = 514
buf = 1024
addr = (host,port)
# Create socket and bind to address
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)
# Receive messages
while 1:
data,addr = UDPSock.recvfrom(buf)
if not data:
print "Client has exited!"
break
else:
print "\nReceived message '", data,"'"
# Close socket
UDPSock.close()
このコードを使用して、サーバーに送信し、コードを表示させることができます。
# Client program
from socket import *
# Set the socket parameters
host = "localhost"
port = 514
buf = 1024
addr = (host,port)
# Create socket
UDPSock = socket(AF_INET,SOCK_DGRAM)
def_msg = "===Enter message to send to server===";
print "\n",def_msg
# Send messages
while (1):
data = raw_input('>> ')
if not data:
break
else:
if(UDPSock.sendto(data,addr)):
print "Sending message '",data,"'....."
# Close socket
UDPSock.close()
Kiwi Syslog Message GeneratorとSnareを使用してsyslogメッセージをUDPサーバーに送信しようとしましたが、何も表示されません。誰かが私を理解するのを手伝ってもらえますか?