看完《简明python教程之后》,果断入手《python核心教程》,在看到tcp服务器和客户端时,在pycharm中手敲了一遍,可是报错了,内容如下:
a bytes-like object is required, not ‘str’
#中文翻译:需要一个像字节的对象,而不是’str’
是的,我有点懵,这是按书上写的,也有错,有错就改没毛病,按照官方文档,我发现是python3更新的问题。
这个时候我看了很多百度,有一个方法可以解决,可是测试一次之后又会报错,内容如下:
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
在我关闭python进程后,我发现运行后还是无法多次运行,于是我断定,这不是最佳的写法,经过多方研究,我终于知道错误的所在了。
将tcp服务器端中的#tcpCliSock.send(‘[%s] %s’ % (bytes(ctime(), ‘utf-8’), data))改为tcpCliSock.send(bytes(‘[%s] %s’ % (ctime(), data.decode(‘utf-8’)), ‘utf-8’))就可以了。下面是代码的截图。
Tcp服务器段
tcp客户端