如何打开UDP端口?

How to open a UDP port?

我有一个任务,我需要编写一个程序来打开网络中的端口,然后我应该使用 nmap 或 netcat 检查端口是否在另一台机器上打开。

好吧,我已经这样做了..但我是用套接字做的,我创建了一个套接字然后绑定并继续监听,这是我知道的唯一方法。有没有更好的办法 ?因为我的方式似乎没有写.. 另外,为 TCP 打开端口与为 UDP 打开端口是否不同?

注意:我正在尝试编写一个在 C/C++ 中打开端口的程序,但是 Python 或 Java 也可以..

编辑:我对 TCP 没问题,但仍然不知道如何为 UDP 打开端口。由于 UDP 中没有 "listen",我应该如何保持端口打开?我写了一个程序,为 UDP 创建一个套接字并绑定它,但是当我用 nmap 扫描它时,它说 "open/filtered",我应该如何让它只打开?

这是 "open" 端口的正确方法。

一个端口被称为 "open" 如果有东西正在监听它。因此,根据定义,您需要监听一个端口才能打开它。