gpt4 book ai didi

Python 套接字示例,为什么这个程序卡在使用 UDP 的 recvfrom 中?

转载 作者:可可西里 更新时间:2023-11-01 16:50:41 26 4
gpt4 key购买 nike

我想在这里制作一个简单的 HTTP 客户端,所以我尝试使用 socket.sendto()socket.recvfrom()发送和接收消息:

所以我的系统上启用了一个apache服务器,绑定(bind)到端口80:

  sock = socket (AF_INET , SOCK_DGRAM)
sock.sendto ( 'GET /' , ( 127.0.0.1 , '80' ) )
message , servaddr = sock.recvfrom (255)

卡住了,但是 nc localhost 80 和 'GET/' 可以工作

默认情况下 python 的套接字不是非阻塞的,为什么我卡在这里?

最佳答案

您正在尝试通过 UDP (SOCK_DGRAM) 访问 HTTP 服务器。请改用 TCP (SOCK_STREAM)。由于 TCP 是面向连接的协议(protocol),请考虑使用 socket.create_connection

关于Python 套接字示例,为什么这个程序卡在使用 UDP 的 recvfrom 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8194286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com