現在、ノードで開始されたスーパーシンプルなWebSocketセットアップで「ブロードキャスト」の問題が適切に機能していないようです。これはWebSocketで初めての作業なので、かなりわかりにくいかもしれませんが、しばらくオンラインを見てから解決策を見つけることができませんでした。ノードのWebソケットブロードキャストが動作しない
基本的には、現在接続されているすべてのクライアントにいくつかのjsonをプッシュできるようにしようとしています。
私はws:// localhost:3000で接続すると、 'connection'ブロックの 'ws.send'に静的接続文字列を見ることができるので、ソケットが動作していることを確認できます。私が複数のクライアントに接続すると、ブロードキャストメソッドからログアウトした複数のクライアント。
私がいただければ幸いです欠落している可能性があり何のような任意の助けを借り、
var WebSocketServer = require('uws').Server;
var wss = new WebSocketServer({ port: 3000 }); // ws://localhost:3000
// Static test var
var test_message = {
'test': 'Response',
'test2': 'Response2'
};
// Broadcast to all.
wss.broadcast = function broadcast(data) {
wss.clients.forEach(function each(client) {
console.log('IT IS GETTING INSIDE CLIENTS');
console.log(client);
// The data is coming in correctly
console.log(data);
client.send(data);
});
};
wss.on('connection', function(ws) {
ws.on('message', function(message) {
wss.broadcast(test_message);
console.log('Received: ' + message);
});
// TODO This is static just to check that the connection is properly working
ws.send('You successfully connected to the websocket.');
});
を試すことができます。クライアントコードを共有できますか? –
今はソケットをテストするためにクロムエクステンションを使用しているだけで、クライアントは作成されていません。私が使用している拡張機能は "Smart Websocket Client"と呼ばれ、ブロードキャストがこのクライアントの応答部分にメッセージをプッシュするのを見ることができません。助けを感謝します! – parchambeau