socket.io を使用するアプリケーションがあり、socket.emit()
モバイル chrome (Android および iOS) から動作していません。socket.emit()
がブラウザで実行されていることがわかります。しかし、サーバー側の console.log ステートメントsocket.on()
が実行されていないため、メッセージが届いていないと思います。コンソールにもエラーは表示されません。
興味深いことに、すべてがシークレット モードで正常に動作し、さらに Safari などの他のモバイル ブラウザーのすべてのモードでも動作します。
解決策、またはデバッグのヘルプが役立ちます。
編集:
クライアント側コード
$(document).ready(function(){
socket = io();
$(".check").on("submit", function(event){
event.preventDefault();
ga('send','event','evt','evt123');
socket.emit('checkRoom', { rId: "12345", pId: "johndoe"});
});
});
サーバー側コード
io.on('connection', function(socket) {
console.log('a user connected');
socket.on('check',function(e){
console.log('Entered check');
socket.emit('check','server message');
});
});
EDIT2:
socket.io-1.3.5.js
クライアント側で(デフォルトを使用する代わりに)ファイルを手動で指定する/socket.io/socket.io.js
と、コンソールに次のエラーが表示されるようになりました。
WebSocket connection to 'ws://mydomain.com/socket.io/?EIO=3&transport=websocket&sid=wr8UpsT45lrWHtpMACJs' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT