2016-05-13 6 views
0

socket.ioでチャットを行うことにしました。そのため、http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/の例をコピーしました。Socket.io:ハンドシェイク応答を受け取る前に接続が閉じられた

サーバー側:

var app = require('express').createServer() 
var io = require('socket.io').listen(app); 
app.listen(8080); 

app.get('/', function(req, res) { 
    res.sendfile(__dirname + '/index.html'); 
}); 

var usernames = {}; 

io.sockets.on('connection', function(socket) { 
    socket.on('sendchat', function(data) { 
     io.sockets.emit('updatechat', socket.username, data); 
    }); 

    socket.on('adduser', function(username) { 
     socket.username = username; 
     usernames[username] = username; 
     socket.emit('updatechat', 'SERVER', 'you have connected'); 
     socket.broadcast.emit('updatechat', 'SERVER', username + ' has connected'); 
     io.sockets.emit('updateusers', usernames); 
    }); 

    socket.on('disconnect', function() { 
     delete usernames[socket.username]; 
     io.sockets.emit('updateusers', usernames); 
     socket.broadcast.emit('updatechat', 'SERVER', socket.username + ' has disconnected'); 
    }); 
}); 

クライアント側:

< script src="/socket.io/socket.io.js">< /script> 
< script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></ script> 
< script> 
var socket = io.connect('http://localhost:8080'); 
... 

スクリプトが正常に動作しますが、私はそれがWebSocketの接続を確立することはできませんクロームコンソールで見つけた、とにフォールバックXHR( 'websocket connection invalid')。ポートを変更しようとしましたが、localhostとVPSの両方で同じ結果がテストされました。理由は何でしょうか? express 2.4.6とsocket.io 0.8.4の使用。

+0

ですVARソケット= IO()で確認し、ホストとポートが必要とされない場合があります。あなたのために働いていない、またはまだエラーを与えていない@Kirill Alexeev – Sumeet

答えて

0

アプリケーションは同じコンテナビューの一部として配備され、アプリケーションURLを使用して自動的に接続されます。

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io(); 
</script> 

その他以下のオプションオプション

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io('http://localhost');  
</script> 
関連する問題