リモートsocket.ioサーバーと通信できるRaspberry Piでnode.jsアプリケーションを構築しようとしています。なぜ私のsocket.ioアプリはRaspberry piで動くとすぐに切断されますか?
socket.ioサーバーは、新しい接続が確立されたときと既存の接続が閉じられたときにコンソールに簡単に書き込みます。
socket.ioクライアントは、ブラウザで実行したときに正常に動作します。
しかし、私はRaspberry Piからクライアントコードを実行すると接続し、すぐに終了します。これにより、放出や受信などの機能は実行できません。
オン接続イベントは発生しません。
var io = require('/usr/local/lib/node_modules/socket.io-client');
var serverUrl = 'http://remoteserver.com';
console.log('Connecting to ' + serverUrl);
var socket = io.connect(serverUrl);
socket.on('connect', function(socket) {
console.log('Connection established!');
console.log(socket.id);
socket.on('disconnect', function() {
console.log('Disconnected from server');
});
});
意志出力上のコード:
Connecting to: http://remoteserver.com
サーバ側では、出力は、新しい接続し、最終的に近いタイムアウトを示すであろう。
クライアント接続イベントが発生しないのはなぜですか?最終的に入力をサーバーに送信できるように、この接続を永続化するにはどうすればよいですか?あなたのコードから
socket.close();
:
を呼び出します。 –
エラー処理を追加する必要があります:https://github.com/socketio/socket.io-client/blob/master/docs/API.md#event-connect_errorサーバーがセッションCookieに基づいて何らかの認証を実装していますか?か何か)? – robertklep
プロキシまたはアグレッシブなアプリケーションファイアウォールの背後に接続していないことを確認してください。問題が発生する可能性があります。最初の接続は成功しますが、残りのソケットトラフィックはそれを戻すことはなく、クライアントは最終的にタイムアウトして終了します。 – Chris