WebSocket客户端只能在本地主机连接我的服务器
我最近在玩 websockets,做了一个小客户端并把它放在了一个网站上。当我从这个网站(也就是我的电脑)连接到同一台电脑上的一个简单 Python 服务器时,一切都很顺利,连接到 localhost(本地地址)。但是,我无法从另一台电脑连接过来。我在这里看到过很多人问这个问题,但没有找到解决办法。根据这个网站的说法,这个问题可能没法解决。
另外一个选择是使用 socket.io,听说这个不错,我该如何在一个网络主机上使用它作为客户端呢?GitHub 上的 socket.io 页面对安装的说明有点模糊,至少对我这样的初学者来说。
这里有一个简单的例子,可以在本地运行:
# Python server
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("", 12345))
sock.listen(5)
newsock, addr = sock.accept()
print "Connection"
// Client
<script type = "text/javascript">
window.onload = function()
{
// Works
var sock = new WebSocket("ws://127.0.0.1:12345");
// Doesn't work
var sock = new WebSocket("ws://194.237.*.*:12345");
}
</script>
2 个回答
0
对我来说,问题在于我没有为Python打开防火墙,允许外部连接进来。
4
你试过绑定到 0.0.0.0
吗?
sock.bind(("0.0.0.0", 12345))