我正在运行一个名为quarqd的脚本,该脚本将其XML数据转储到端口8168。我在OSX Lion的终端中运行此脚本。我可以使用netcat连接到端口,并观看数据流。

我需要获取这些数据并将其转储到websocket,以便进行操作并显示在仅本地的网页中。因此,我尝试使用Websockify进行此操作。

$ websockify 8168 localhost:8169

我运行该命令,并得到了一些确认代码,就像它的设置一样,但是随后出现此错误消息。
[Errno 48] Address already in use

这里的缺点是我打算使用该套接字。就是我要转储到websocket的数据。我为第二个参数尝试了多个端口号,以确保不是该端口被阻塞,但仍然没有运气。 Websockify并非专门用于此用途吗? TCP套接字到Websocket?如果是这样,如何使它正确运行?仅供引用,我对Python有点陌生。

最佳答案

第二个地址是目标地址。第一个地址/端口是使用websocket进行连接的地方,而这是一个自由/开放端口。换句话说,您希望您的地址被颠倒:

websockify 8169 localhost:8168

然后告诉您的浏览器连接到主机:8169。这将导致websockify连接到localhost:8168并将流量桥接到浏览器所连接的8169。

换一种说法:
browser -> (websockets) -> websockify port 8169 -> (tcp) -> server port localhost:8168

免责声明:我做了websockify。

关于python - Websockify错误-地址已在使用中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11587857/

10-11 11:17