**
**
在Python 3 TCP时间戳服务器实践中出现标题所示误下面是源代码
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpSerSocket = socket(AF_INET,SOCK_STREAM)
tcpSerSocket.bind(ADDR)
tcpSerSocket.listen(5)
while True:
print('Waiting for connection……')
tcpCliSocket,addr = tcpSerSocket.accept()
print('...connection from:',addr)
while True:
data = tcpCliSocket.recv(BUFSIZE)
if not data:
break;
== ***tcpCliSocket.send('[%s] %s'%(bytes(ctime(),'utf-8'),data))***==
stcpCliSocket.close()
tcpSerSocket.close()
这是错误提示
提示很明显是数据类型的错误
我们需要将数据类型修改为符合send()需要的参数类型,在源代码中我们期望将时间和data转换成一条语句但是数据类型不符合一直无法成功
在不改变返回数据结构的情况下我将
tcpCliSocket.send('[%s] %s'%(bytes(ctime(),'utf-8'),data))
修改成
tcpCliSocket.send(bytes(ctime(),'utf-8')+data)
成功运行
若有更好的方法可以评论告知!!!