python3.x - Python3 socket sendall出現10057
問題描述
在學習python做socket小例子的時候,發現只要是使用sendall就會出現下面的問題.
server_demo:
#!/usr/bin/env python# _*_coding:utf8_*_import socketobj_socket = socket.socket()# 綁定端口obj_socket.bind((’127.0.0.1’, 9999))# 設置最大連接數obj_socket.listen(5)while True: # 阻塞等待客戶端連接 conn, address = obj_socket.accept() print(address, conn) # 在python2.7中可以直接發送字符串,但是在python3中都是字節 obj_socket.sendall(bytes(’你好’, encoding=’utf-8’))
client_demo:
#!/usr/bin/env python# _*_coding:utf8_*_import socketobj_socket = socket.socket()obj_socket.connect((’127.0.0.1’, 9999))# 阻塞至服務器回復 最多接收1024bytes 如果超過會再次接收res_bytes = obj_socket.recv(1024)res_str = str(res_bytes, encoding=’utf-8’)print(res_str)obj_socket.close()
搜了很多解決方案,我嘗試關閉了防火墻,但是還是沒有用。
問題解答
回答1:試下
obj_socket.sendall(bytes(’你好’, encoding=’utf-8’))換成:conn.sendall(bytes(’你好’, encoding=’utf-8’))
相關文章:
