UDP服务器不需要TCP服务器那么多的配置,因为它们不是面向连接的,除了等待传入的连接之外,几乎不需要做其他的工作。
server.py
#!/usr/bin/python
#coding: utf-8
import socket
import time
host = "127.0.0.1"
port = 21567
ADDR = (host, port)
bufsiz = 1024
udpServer = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpServer.bind(ADDR)
while True:
print("waiting for message...")
data, addr = udpServer.recvfrom(bufsiz)
udpServer.sendto("[%s] %s" % (time.ctime(), data), addr)
print("received from and returned to:", addr)
udpServer.close()
client.py
#!/usr/bin/python
#coding: utf-8
import socket
import time
host = "127.0.0.1"
port = 21567
bufsize = 1024
ADDR = (host, port)
udpclient = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
data = raw_input(u">")
if not data:
break
udpclient.sendto(data, ADDR)
data, ADDR = udpclient.recvfrom(bufsize)
if not data:
break
print data
udpclient.close()