【发布时间】:2020-04-30 16:06:23
【问题描述】:
我在考虑软件端口的概念,它有助于区分哪些互联网数据包属于哪个应用程序,我想知道应用程序本身使用什么类似的结构来区分它可能尝试的两个不同连接。例如,如果一个异步执行的应用 X 在其源代码的第 10 行启动了一个连接,然后它在第 11 行启动另一个连接,而第一个连接仍在进行中,它使用什么来跟踪这些连接?
【问题讨论】:
标签: sockets network-programming
我在考虑软件端口的概念,它有助于区分哪些互联网数据包属于哪个应用程序,我想知道应用程序本身使用什么类似的结构来区分它可能尝试的两个不同连接。例如,如果一个异步执行的应用 X 在其源代码的第 10 行启动了一个连接,然后它在第 11 行启动另一个连接,而第一个连接仍在进行中,它使用什么来跟踪这些连接?
【问题讨论】:
标签: sockets network-programming
我相信根据连接类型的不同,它必须有一个标识符。
以套接字连接为例,假设客户端使用socket.io 启动与其他进程的多个连接,每个连接都有一个唯一的ID。
socket.on('connect', () => {
console.log(socket.id); // 'G5p5...'
});
这可能有点抽象,但即使在低级别,也会发生同样的事情。
【讨论】: