Javascript客户端:Websocket不工作?
我有一个PHP websocket(Ratchet 13),它工作得很好。我可以通过C#连接到此ws,没有任何问题。 现在,我想连接到我的websocket,但要使用javascript和客户端 在我的网站上,我希望客户端连接到我的websocket,并可以从服务器发送/接收实时数据。 实际上,连接成功,但从未调用事件。 编辑:页面加载几分钟后,我在控制台中看到: “到'ws://x:8080/'的WebSocket连接失败:WebSocket打开握手超时” 我试过很多方法Javascript客户端:Websocket不工作?,javascript,events,websocket,client,Javascript,Events,Websocket,Client,我有一个PHP websocket(Ratchet 13),它工作得很好。我可以通过C#连接到此ws,没有任何问题。 现在,我想连接到我的websocket,但要使用javascript和客户端 在我的网站上,我希望客户端连接到我的websocket,并可以从服务器发送/接收实时数据。 实际上,连接成功,但从未调用事件。 编辑:页面加载几分钟后,我在控制台中看到: “到'ws://x:8080/'的WebSocket连接失败:WebSocket打开握手超时” 我试过很多方法 document.g
document.getElementById("value_ws").innerHTML = "coning";
//just some cheks 1
var ws = new WebSocket("ws://localhost:8080");
//here i replace localhost by my IP otherwise it don't connect
ws.onopen = function(e) {
console.log("open");
};
ws.addEventListener('open', function (event) {
ws.send('Hello Server!');
});
//both of theses events are never called
//i successfully receive the connection on my server ws console
//but when i send data, the event is never called
document.getElementById("value_ws").innerHTML = "coned";
//just some cheks 2
如果你有什么建议可以给我,我接受!
致以最诚挚的问候某些浏览器不允许您连接到不安全的WebSocket。您需要在启用SSL/TLS的情况下进行测试,并且”wss://localhost:8080“作为您的连接。已解决: 问题来自我的服务器,它没有应答握手
<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
require dirname(__DIR__) . '/vendor/autoload.php';
$server = IoServer::factory(
new HttpServer(
new WsServer(
new Chat()
)
),
8080
);
$server->run();
我喜欢对否决票的解释,它帮助我知道如何改进我的答案,谢谢。