UDP连接在netstat命令中多次出现

时间:2018-03-20 15:50:53

标签: windows networking tcp udp netstat

我运行了以下命令 enter image description here

我想问一下

为什么最后4行相同?这是相同的连接还是什么?

1 个答案:

答案 0 :(得分:2)

这意味着您有多个套接字侦听同一端口。这并不罕见。

使用SO_REUSEADDR选项,多个线程或进程可以共享侦听端口。

这通常用作应用程序扩展UDP服务以使用多个线程或CPU核心的简便方法。让我们想象一下在UDP端口3702上监听的服务。让我们说对于每个传入的数据包,必须进行一些长时间的阻塞I / O操作。如果服务器应用程序是单线程的,那么它一次只能处理1个数据包。

相反,服务器创建4个线程(或4个进程)。每个线程创建套接字,在套接字上设置SO_REUSEADDR选项,绑定到端口3702,并开始侦听传入的数据包(recvfrom)。当传入的数据包到达时,recvfrom呼叫阻塞的其中一个线程将被唤醒并有一个要处理的数据包。当该线程正在处理数据包时,其他线程也能够并行接收数据包。