看书学python
然后学到socket的时候报错,.bind为只读
写法不对,bind是一个函数,直接调用就行,改成s1.bind(address)
有帮助的话,请点采纳该答案~
该回答引用GPTᴼᴾᴱᴺᴬᴵ
该错误是因为您试图将一个元组赋值给 s1.bind 属性,而 bind 属性是只读的,不能直接赋值。正确的做法是使用 bind() 方法绑定地址。
您可以将代码修改为:
import socket
# 建立服务端socket对象
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听的地址和端口
address = ('127.0.0.1', 6999)
# 绑定地址
s1.bind(address)
# 监听
s1.listen(5)
while True:
conn, addr = s1.accept()
print(conn, addr)
try:
data = conn.recv(1024)
print('receive:', data.decode())
conn.send(data.upper())
conn.close()
except:
print("关闭了正在占线的连接!")
break
在这个版本中,我用 bind() 方法绑定了地址,而没有尝试直接给 s1.bind 属性赋值。