私はws
のWebSocketサーバーを実行しています。受信メッセージがJSONかどうかに基づいて分割しようとしています。オブジェクトプロトタイプにリスナーを追加します
function determineJSON(m) {
try { return ['json', JSON.parse(m)] }
catch (err) { return ['not-json', m] }
}
wss.on('connection', ws => {
ws.on('message', m => {
// Emit to 'json' and 'not-json' as appropriate
if (ws.listenerCount('json') + ws.listenerCount('not-json') > 0) {
ws.emit(...determineJSON(m))
}
})
.on('json', j => { ... })
.on('not-json', m => { ... })
})
コードは素晴らしい作品が、私はすべての新しいWS
オブジェクトがそれを持っているなるように、私は、WS
クラスに.on('message', ...)
リスナーを追加することができますどのように思っていました。私はWS.prototype.on('message', ...)
を試しましたが、それは何もしていないようです。
サブクラスを作成し、コンストラクタに追加します。 – Bergi