我一直以为是要两台机器,一台写server端,一台写client端,但是总说拒绝连接(之类的),防火墙也有关闭,ping也可以成功。不知道为什么。实验室环境,用的校园网。
也懒得排查了,其实一台电脑就可以测试。Jupyter写一个server端,spyder写一个client端。
参考https://blog.csdn.net/luckytanggu/article/details/53491892
有些改动的地方,可能因为我是python3.0。
运行源代码的时候,可以连接,但是会报错,TypeError: a bytes-like object is required, not 'str'。
参考
https://blog.csdn.net/u014770372/article/details/76285740
https://blog.csdn.net/jacke121/article/details/78150165
https://blog.csdn.net/wx1458451310/article/details/78593994
str通过encode()方法可以编码为指定的bytes.
如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法.
有send()的地方都加上encode(encoding='utf_8', errors='strict')
#server
conn.send('Connection closed!'.encode(encoding='utf_8', errors='strict'))
#client
print (s.recv(1024).decode(encoding='utf_8', errors='strict'))
网友评论