#!/ usr/bin/env python
# UDP Echo Server - udpserver.py
ソケットをインポート、トレースバック
ホスト = ''
ポート = 54321
s = ソケット。ソケット(socket.AF_INET 、socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET,ソケット.SO_REUSEADDR, 1)
s.bind((host, port))
while 1:
try:
message, address = s.recvfrom(8192)
print "データの取得元", address, ": ", message
s.sendto(message, address)
を除く ( KeyboardInterrupt、SystemExit):
raise
例外:
trackback.print_exc()
クライアント:
コードをコピー コードは次のとおりです。
1 #!/usr/bin/env python
# UDP クライアント - udpclient.py
import ソケット、sys
host = sys。 argv[1]
textport = sys.argv[2]
s =ソケット.socket(socket.AF_INET、socket.SOCK_DGRAM)
try:
port = int(textport)
ValueError を除く:
port =ソケット.getservbyname(textport, 'udp')
s.connect((host, port))
while 1:
print "送信するデータを入力してください:"
data = sys.stdin.readline().strip()
s.sendall(data)
print "返信を探しています。停止するには Ctrl-C または Ctrl-Break を押してください。"
buf = s.recv( 2048)
if not len(buf):
Break
print "サーバーの応答: ",
sys.stdout.write(buf)
print "n"