tcp通信
#客户端
from socket import *
from time import time
HOST='localhost'
PORT=21567
BUFSIZE=1024
ADDR=(HOST,PORT)
tcpClickSock=socket(AF_INET,SOCK_STREAM)
tcpClickSock.connect(ADDR)
while True:
try:
data=input('>>')
data=data.encode()
if not data:
break
tcpCliSock.send(data)
data.tcpCliSock.recv(BUFSIZE)
if not data:
break
print('server:'data)
except ValueErroe:
print("Error")
tcpCliSock.close()
#server
from socket import *
from time import time
HOST='loclhost'
PORT=21567
BUFSIZE=1024
ADDR=(HOST,PORT)
tcpSerSock=socket(AF_INET,SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
try:
print('waiting for connection...')
tcpCliSock,addr=tcpSerSock.accept()
print(u'connected client from:',addr)
while True:
data=tcpCliSock.recv(BUFSIZE)
if not data:
break
else:
print('client:',data)
tcpCliSock.send(bytes(bytes('[%s]%s'(ctime(),data.decode('utf-8')),'utf-8')))
except ValueError:
print("Error")
tcpSerSock.xlose()
UDP通信
#udp server
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZE = 1024
addr = (HOST,PORT)
udpSerSock = socket(AF_INET,SOCK_DGRAM)
udpSerSock.bind(addr)
while True:
print("Waiting for message...")
data,addr=udpSerSock.recvfrom(BUFSIZE)
if not data:
break
data = data.decode(encoding='utf-8')
data="client at %s:%s"%(ctime(),data)
print("Received from and returned to :", addr)
udpSerSock.sendto(data.encode(encoding='utf-8'),addr)
udpSerSock.close()
#udp client
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZE = 1024
addr = (HOST,PORT)
udpCliSock = socket(AF_INET,SOCK_DGRAM)
while True:
data=input('>')
if not data:
break
data=data.encode("utf-8")
udpCliSock.sendto(data,addr)
data,addr=udpCliSock.recvfrom(BUFSIZE)
print(data.decode(encoding="utf-8"),'from',addr)
udpCliSock.close()
参考:
https://blog.youkuaiyun.com/cyx441984694/article/details/79382213
https://blog.youkuaiyun.com/qq_33733970/article/details/77763009