简体   繁体   English

带有websocket的Node.js socket.io

[英]Node.js socket.io with websocket

I'm begginer in Node.js or websocket. 我是Node.js或websocket的初学者。 I have problem: 我有问题:

My HTML code: 我的HTML代码:

<!DOCTYPE html>
<html>
    <head>
        <title>test</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <script>
            "use strict";
            var gniazdo = new WebSocket('ws://localhost:3000');
            gniazdo.onopen = function(){ 
                 console.log('Połączono');
            };
            gniazdo.onmessage = function(m){ 
                console.log(m.data); 
            };
        </script>
    </body>
</html>

My Node.js code: 我的Node.js代码:

var io = require('socket.io')(3000);
io.on('connection', function(socket){
    console.log('a user connected');
});

I have error in console: 我在控制台中有错误:

WebSocket connection to 'ws://localhost:3000/' failed: Connection closed before receiving a handshake response 

Help plz :) 帮助PLZ :)

Your client is using WebSockets, but Socket.IO has its own protocol (that may be transported over WebSockets, but it can also be transported over other protocols). 您的客户端正在使用WebSockets,但Socket.IO有自己的协议( 可以通过WebSockets传输,但也可以通过其他协议传输)。 Change your client to use Socket.IO's own client: 将您的客户端更改为使用Socket.IO自己的客户端:

<script src="https://cdn.socket.io/socket.io-1.1.0.js"></script>

<script>

    'use strict';

    var gniazdo = io('ws://localhost:3000');

    gniazdo.on('connect', function () {

        console.log('Połączono');

        gniazdo.on('message', function (m) {
            console.log(m.data);
        });

    });

</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM