#!/usr/bin/env python3
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
print("waiting for connection...")
tcpCliSock, addr = tcpSerSock.accept()
print("... connected from:", addr)
while True:
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
tcpCliSock.send((bytes('[%s] ' % (ctime()), 'utf-8') + data))
tcpCliSock.close()
tcpSerSock.close()
tcp客户端程序
#!/usr/bin/env python3
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = input('> ')
if not data:
break
tcpCliSock.send(bytes(data, 'utf-8'))
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
print(data.decode('utf-8'))
tcpCliSock.close()
udp服务器程序
#!/usr/bin/env python3
from time import ctime
from socket import *
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpSerSock = socket(AF_INET, SOCK_DGRAM)
udpSerSock.bind(ADDR)
while True:
print("waiting for message...")
data, addr = udpSerSock.recvfrom(BUFSIZ)
udpSerSock.sendto((bytes(('[%s] ' % ctime()), 'utf-8') + data), addr)
print("...received from and returned to:", addr)
udpSerSock.close()
udp客户端程序
#!/usr/bin/env python3
from socket import *
HOST = 'LOCALHOST'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpCliSock = socket(AF_INET, SOCK_DGRAM)
while True:
data = input('> ')
if not data:
break
udpCliSock.sendto(bytes(data, 'utf-8'), ADDR)
data, ADDR = udpCliSock.recvfrom(BUFSIZ)
if not data:
break
print(data.decode('utf-8'))
udpCliSock.close()