Python中的套接字给出错误

0 python sockets

我正在提供一个测试文件,如下所示:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
facebook = open("sources/facebook.htm","rb")
listen = ("localhost", 2000)
sock.bind(listen)
sock.listen(1)
while True:
    connection, client_address = sock.accept()
    print("Got a Connection from: " + client_address[0])
    sock.send(facebook.read(10000000))
Run Code Online (Sandbox Code Playgroud)

我已经下载了 facebook 主页来测试连接,但是当我连接到这个页面时,它给出了以下错误:

从以下位置获得连接:127.0.0.1 回溯(最近一次通话):文件“C:\Users\Export.1\blocker.py”,第 11 行,在 sock.send(facebook.read(1000000)) OSError: [ WinError 10057] 由于套接字未连接并且(使用 sendto 调用在数据报套接字上发送时)未提供地址,因此不允许发送或接收数据的请求

我该如何解决?

Yog*_*esh 5

发生错误是因为您正在向服务器套接字而不是客户端发送回复,请尝试更改

sock.send(facebook.read(10000000))
Run Code Online (Sandbox Code Playgroud)

到

connection.send (facebook.read(1000000))
Run Code Online (Sandbox Code Playgroud)

反而