代码
host = "127.0.0.1"
port=4446
from socket import *
s = socket(AF_INET, SOCK_STREAM)
s.bind((host,port))
s.listen(1)
print("Listening for connections...")
q,addr = s.accept()
data = input("Type something in")
q.send(data)
s.close
错误
TypeError:'str' does not support the buffer interface
所以我知道这里有关于这个错误的数百个问题,但我仍然无法想出解决方案,你们其中一个人可以帮助我吗? :(
答案 0 :(得分:1)
在Python 3中,字符串是 Unicode 值,但套接字只能采用编码字节。
首先对数据进行编码:
q.send(data.encode('utf8'))
我在这里选择UTF-8作为要使用的编解码器,但您需要有意识地选择适合您特定应用的编码。
答案 1 :(得分:0)
字符串是python 3中的Unicode对象。您需要在发送之前将其编码为字节字符串。
Data.encode("ASCII")