我正在尝试在这里创建一个简单的HTTP客户端,所以我尝试使用socket.sendto()
和socket.recvfrom()
发送和接收消息:
所以在我的系统上启用了apache服务器,绑定到端口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是面向连接的协议,请考虑使用socket.create_connection
.