socket.io以严格的方式与正在实现RFC6455的服务器通信

时间:2017-03-03 23:05:51

标签: websocket socket.io

我正在尝试让我的socket.io javascript客户端与使用websocketpp在cpp中实现的服务器进行通信,并且它无法正常工作。令人惊讶的是,我不能将socket.io配置为在需要时回退到真正的websockets。 任何人对此都有任何想法或建议吗?回到websocket npm并重新实现我的客户端是唯一的方法吗?

我尝试了这个,但它不起作用

$('table td a').on('click', function(e) {
   var amountVal = $(this).parent('tr').find('input').val();
   var newUrl = location.href.replace("amount=", "amount="+amountVal);
   $(this).attr('href', newUrl);
});

1 个答案:

答案 0 :(得分:1)

socket.io是webSocket之上的附加协议,因此socket.io客户端只能与socket.io服务器通信。虽然socket.io使用webSocket进行传输,但它需要支持webSocket上的附加层才能正常工作。

如果您想与普通的webSocket服务器通信,那么您应该使用普通的webSocket客户端。

var socket = new WebSocket('ws://localhost:8080');

// Connection opened
socket.addEventListener('open', function (event) {
    socket.send('Hello Server!');
});

// Listen for messages
socket.addEventListener('message', function (event) {
    console.log('Message from server', event.data);
});

如果你想修改服务器端的东西来讨论socket.io,你可以找到cpp的socket.io服务器模块。