“侦听”端口是指对该端口的连续轮询,还是离散轮询或中断驱动的进程。 “听一个港口”究竟发生了什么?
答案 0 :(得分:8)
端口只不过是一个概念,它不像是你可以检查一些内存位,等待一些信息。
因此,监听到一个端口教会内核在接收到具有此特定端口号的数据包时要做什么:将其传输到要求监听该进程的进程端口,而不是回复[或不]端口未打开。
注意:这只是推测,我没有调查任何内核实现。
编辑:在流程方面,
答案 1 :(得分:7)
内核从传入的IP数据包中提取目标端口,然后将数据包转发到为此特定端口注册的所有接收器(是的,可能有多个)。用户进程通常使用select(2)或poll(2)来等待事件,但此轮询与传统轮询不同,如“读取I / O端口;延迟500 ms”。