【发布时间】:2018-08-06 13:35:00
【问题描述】:
我目前正在测试一个非常基本的套接字示例,甚至基本测试都不起作用。我的 Python 代码(服务器)是:
import socket
server = socket.socket(socket.AF_INET)
server.bind(("0.0.0.0", 5000))
server.listen(1)
conn, addr = server.accept()
我的 Javascript 代码(客户端)是:
var connection = new WebSocket("wss://<my-local-ip>:5000");
但是,在启动我的 Python 代码并运行我的 Javascript 代码后,连接会在 WebSocket.CONNECTING 状态下挂起大约半分钟,然后才会出现错误:
WebSocket connection to 'wss://192.168.0.119:5000/' failed: WebSocket opening handshake timed out
我还尝试将<my-local-ip> 替换为我的公共 IP(根据 ipinfo.io/ip),但这给出了不同的错误:
WebSocket connection to 'wss://216.58.126.4:5000/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
我查看了互联网,所有示例的结构都与我的测试代码完全相同,为什么它不起作用?
【问题讨论】:
-
在您的第一部分中,
websocket需要与 HTTP 兼容的握手,但您的服务器无法提供此握手。总之,socket连接已经建立,但是websocket连接还没有。
标签: javascript python websocket