连接到服务器时如何获取 TCP 套接字 ID
Posted
技术标签:
【中文标题】连接到服务器时如何获取 TCP 套接字 ID【英文标题】:How to Get TCP Socket Id When it's connect to server 【发布时间】:2021-10-27 02:46:03 【问题描述】:我的问题是,连接服务器时如何获取 TCP Socket Id。
我有这样的代码,
const net = require('net');
const server = net.createServer();
server.listen(port, host, async() =>
console.log('Server is running on port 6633');
);
server.on('connection', async function(sock)
console.log('sockId: ',sock.id); // It's give me undefined
那么,如何在 NodeJS 中获取 TCP 连接中的 Socket Id。
【问题讨论】:
【参考方案1】:为了解决这个问题时我自己的特殊需要,我刚刚创建了一个带有一些用户标识符和 websocket 本身的地图。
否则你可以使用请求头 req.headers['sec-websocket-key']
let socketMap = new Map()
server.on('connection', async function(sock, req)
console.log('sockId: ',sock.id); // It's give me undefined
socketMap.set(req.headers['sec-websocket-key'], sock)
【讨论】:
以上是关于连接到服务器时如何获取 TCP 套接字 ID的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Perl 通过 TCP 和 UDP 连接到远程机器?