Javascript 使用Socket.io发送TCP消息时出现问题

Javascript 使用Socket.io发送TCP消息时出现问题,javascript,sockets,tcp,socket.io,Javascript,Sockets,Tcp,Socket.io,因此,我正试图通过端口9999和Socket.io向插入计算机的设备发送一条TCP消息,IP地址为xxx.xxx.1.32。客户端成功连接到设备上运行的TCP服务器,但我似乎无法向它发送任何实际消息。以下是我从设备获得的输出: 以及我的客户端代码: <script src = "https://cdn.socket.io/socket.io-1.2.1.js"></script> <script> var socket = io('http://xx

因此,我正试图通过端口
9999
和Socket.io向插入计算机的设备发送一条TCP消息,IP地址为
xxx.xxx.1.32
。客户端成功连接到设备上运行的TCP服务器,但我似乎无法向它发送任何实际消息。以下是我从设备获得的输出:

以及我的客户端代码:

<script src = "https://cdn.socket.io/socket.io-1.2.1.js"></script>
<script>
    var socket = io('http://xxx.xxx.1.32:9999');
    socket.on('connect', function() {
        socket.send('GPIO,00,0');
        socket.emit('GPIO,00,0');

        socket.on('message', function (msg) {
                alert(msg);
        });
    });
</script>

变量套接字=io('http://xxx.xxx.1.32:9999');
socket.on('connect',function(){
socket.send('GPIO,00,0');
socket.emit('GPIO,00,0');
socket.on('message',函数(msg){
警报(msg);
});
});

它定期接收第一张图片中详述的相同消息(这是有意义的,因为
连接:
字段设置为保持活动状态),但它似乎从未发送消息,即使在第一次建立连接之后也是如此。有什么问题吗?

Socket.IO不做普通的TCP套接字,因为在浏览器中不可能这样做。相反,它使用WebSocket,它需要建立在HTTP之上的握手(或者其他一些基于HTTP的回退)。如果您想使用Socket.IO与自定义设备通信,您必须手动实现它们的整个协议


如果您不能或不想在设备上运行node.js,最好忘记Socket.IO,只使用普通WebSocket。或者甚至在一台成熟的计算机上实现一个代理服务器,它可以通过普通的TCP进行代理。

Gotcha,谢谢你的回答。你认为这个插件可以做到这一点吗?如果你能让它在你的平台上运行的话,看起来像是可以完成这项工作的东西。