2014-10-16 2 views
5

Я приглашаю вас в Node.js или websocket. У меня есть проблема:Node.js socket.io с websocket

Мой 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> 

Мой Node.js код:

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

У меня есть ошибка в консоли:

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

Помощь плз :)

+0

Socket.io сначала тестирует соединение с длительным опросом и обновлениями до веб-карт, если они поддерживаются. Вам нужно использовать клиентскую библиотеку socket.io. –

+0

Thx для вас поможет :) –

ответ

7

Ваш клиент использует WebSock ets, но Socket.IO имеет свой собственный протокол (то, что может транспортироваться через WebSockets, но он также может быть передан по другим протоколам). Измените клиента на использование собственного клиента 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> 
Смежные вопросы