问题遇到的现象和发生背景
python3搭建UDP服务器
问题相关代码,请勿粘贴截图
#服务器
from socket import *
from time import ctime
HOST = ''
PORT = 21567
STORE = 1024
ADDR = (HOST,PORT)
a = socket(AF_INET,SOCK_DGRAM)
a.bind(ADDR)
while True:
print('等待消息')
data,addr = a.recvfrom(STORE)
a.sendto(('[%s] %s' % (
ctime(),data.decode() ) ).encode(),addr)
print('recievd from and returned to:',addr)
#客户端
from socket import *
HOST = 'localhost'
PORT = 21567
STORE = 1024
ADDR = (HOST,PORT)
a = socket(AF_INET,SOCK_DGRAM)
while True:
data = input('>')
if not data:
break
a.sendto((data.encode()),ADDR)
data, addr = a.recvfrom(STORE)
if not data:
break
print(data)
a.close()
运行结果及报错内容
客户端输出结果多了一个b
例如:我客户端输入hello,得到的结果应该是加了时间戳的 hello
但结果多了一个b
例:
输入:hi
理想输出:[时间] hi
实际输出:b'[时间] hi'