Javascript 避免为每个WS-client创建onMessage函数
按照Javascript 避免为每个WS-client创建onMessage函数,javascript,node.js,websocket,Javascript,Node.js,Websocket,按照ws的说明创建WebSocket服务器: const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); });
ws
的说明创建WebSocket服务器:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
为每个客户端创建一个名为incoming
的onMessage回调,对吗
想象一下有200万客户。这段代码将创建200万个函数。有没有办法避免这种情况?像这样的事情会很好:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('message', function incoming(ws, message) {
// Access to ws object
console.log('received: %s', message);
});
那么:
const WebSocket=require('ws');
const wss=newwebsocket.Server({port:8080});
函数handleMessage(消息){
console.log('接收到:%s',消息);
}
wss.on('message',handleMessage)代码>我认为你反应过度了…那么我说它为每个客户端创建了一个函数是不是错了?事件消息
不是由WebSocket.Server发出的+代码不正确,应该是wss.on('message',handleMessage)代码>足够公平。代码已更改。