javascript:打印websocket客户端IP

node.js WebSocket示例代码片段

我有一个简单的node.js应用程序使用快递。 现在,每当一个客户端连接到节点服务器,我看到string“新客户端连接”,但我想知道新客户端有哪些IP。

var WebSocketServer = require('ws').Server; var connIds = []; var server = require('http').createServer(app).listen(80); // set up the websocket server var wss = new WebSocketServer( { server: server } ); wss.clientConnections = {}; // websocket server eventlisteners and callbacks wss.on('connection', function (connection) { console.log('wss.on.connection - new client connected'); ... 

请参阅以下代码: https : //github.com/qknight/relais.js/blob/master/relais.js/server.js#L159

对象connection有属性,但我不知道如何查询它们或它们是什么。 我想要的只是打印客户端IP,如果存在,也可以打印其他类似的属性。

我怎么做?

远程IP是升级前连接的一个属性:

 var wss = new WebSocketServer({port: 9876}); wss.on('connection', function(ws) { console.log(ws.upgradeReq.connection.remoteAddress); }); 

我不记得我是如何find它的,但是我知道我花了一段时间; 我希望文档和代码一样好