das*_*asd 29 javascript sockets ssl websocket ratchet
我尝试用socket连接到我的服务器.我的服务器在端口8080上运行带有Rachet的服务器套接字.我尝试运行此代码:
<script>
try{
conn = new WebSocket('wss://localhost:8080');
conn.onclose = function (e)
{
//checkUser();
}
conn.onopen = function(e)
{
console.log("test");
};
}catch (error)
{
console.log(error);
}
</script>
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
WebSocket connection to 'wss://localhost:8080/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)
当我尝试从我的linux shell连接时,我得到了这个:
root@(none):~# telnet localhost 8080
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
当端口关闭时,CONNECTION_REFUSED是标准的,但它可能被拒绝,因为SSL验证失败(十亿个原因之一).您是否使用Ratchet配置SSL?(Apache被绕过)你在JavaScript中没有使用SSL吗?
我不认为Ratchet内置了对SSL的支持.但即使它确实你想要首先尝试ws://协议; 它更简单,更容易调试,更接近telnet.如果服务不支持SSL(因为您明确请求了SSL),Chrome或套接字服务也可能会生成REFUSED错误.
但是,被拒绝的消息可能是服务器端问题(通常是端口关闭).
首先,我会尝试非安全的 Websocket 连接。因此,s从连接地址中删除其中之一:
conn = new WebSocket('ws://localhost:8080');
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,那么我接下来要检查的是您服务器的防火墙设置。您需要8080在TCP_IN和中打开端口TCP_OUT。
| 归档时间: |
|
| 查看次数: |
80565 次 |
| 最近记录: |