我想知道ws库中的服务器实现是否允许查找,哪个连接的客户端触发了消息事件。我希望我可以避免深入研究代码以找出...
谢谢!
P.S。:我知道FAQ: How to get the IP address of the client?,但是指的是新连接的情况。我对收到的消息感兴趣。
答案 0 :(得分:0)
等等,没关系 - 我明白了。实际上很明显。
当您定义处理websocket ws
的消息的闭包时,您必须处于定义了ws的上下文中 - 即,关闭websocket服务器wss
&#39 ; s on
- 用于连接'事件。在那里,您还可以访问请求对象req
,该对象为您提供远程地址:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws, req) {
console.log('connected: '+req.connection.remoteAddress);
ws.on('message', function incoming(message) {
console.log('received from %s: %s', req.connection.remoteAddress, message);
// do stuff with the message
});
});