これまでのソケットは期待通りに動作しています。私のサーバー上で私が持っている:クライアント側で次にソケット接続がすべてのクライアント/接続を認識しない
const io = require('socket.io')(1923);
// after an action
io.sockets.emit('items', data);
:
const socket = io.connect('http://localhost:1923');
socket.on('items', (items) => {
// do stuff with items
});
を私は自分のマシン上でだとき、今これがうまく働いています。異なるデバイスがサイトを開くとすぐに、コンピュータ上のブラウザでのみ更新されます。
コンピュータ
- Firefoxがあまりにも
モバイル
- サイトはモバイル ためにChromeで開いているサイトオープン
- Chromeを持っています
アクションが行われた後、コンピュータ上のサイトのみが更新され、新しいデバイスは更新されません。接続を確認すると、clientsCount: 2
も認識されます。 (3の代わりに)
このサイトは、3つの別個のブラウザで開いています。これが起こるにはどうしたらいいですか?
(追記:私は2番目のコンピュータと同じ試みた、それは、モバイルデバイスに固有ではありません。)
このクライアントコード 'constのソケット= io.connect( 'のhttp:// localhostを:1923');'と同じコンピュータ上以外の場所に動作しません。サーバーはオンです。 'localhostは定義上、'ローカルのコンピュータであり、ローカルのコンピュータだけです。 IPアドレスまたはDNS名で接続する必要があります。 – jfriend00
私の電話や他のPCに接続すると、私は同じWIFIにいて、 '192.168.0.10:8080'でページにアクセスしています。だから私はそれが問題でなければならないとは思わない – MMachinegun
あなたの質問のコードが示すものではなく、同じポートでもありません。クライアントコードがどのようになっているかを知るにはどうすればよいですか?明らかに接続の問題があります。クライアントをデバッグして、実際に接続していると思っているかどうか、またはエラーが何であれログに記録する必要があります。 'socket.on( 'error'、function(err){console.log(err)});' – jfriend00