出錯的代碼
#server端 import socket import struct sk=socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn,addr=sk.accept() str_len1=struct.unpack('i',conn.recv(4))[0] print(sk.recv(str_len1)) str_len2=struct.unpack('i',conn.recv(4))[0] print(sk.recv(str_len2)) conn.close() sk.close()
問題出在上面標紅的地方,這里的sk是套接字所以就出現了OSError: ([WinError 10057] 由於套接字沒有連接並且(當使用一個 sendto 調用發送數據報套接字時)沒有提供地址,發送或接收數據的請求沒有被接受。)的錯誤,
解決辦法:只需要將sk改成conn即可