c - 获取 UDP 套接字的随机端口

标签 c sockets

我需要创建一个程序,通过 UDP 套接字与同一台计算机上的其他程序进行通信。它将从 stdin 读取命令,其中一些命令将使其在不停止执行的情况下发送/接收数据包。我已经阅读了一些信息,但由于我不熟悉套接字编程并且需要快速完成此操作,所以我有以下问题:

  1. 我需要为程序获取一个随机未使用的端口来监听,并保留它以便其他程序可以与之通信,并且该端口不被另一个程序保留。我还需要将端口号存储在变量中以备将来使用。
  2. 由于通信是在同一台机器上跨进程进行的,我想知道我是否可以使用 PF_LOCAL。

也欢迎提供此类套接字设置的代码示例,以及发送/接收字符串的示例。

最佳答案

调用 bind() 指定端口 0。这将允许操作系统选择一个未使用的端口。然后,您可以使用 getsockname() 检索所选端口。

关于c - 获取 UDP 套接字的随机端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22890514/

相关文章:

c - L 值需要作为增量运算符 - C

c - socket函数中的stream参数和protocol参数有什么区别?

c - 如何从 C 中的字符串中删除重音符号?

java - C 服务器与 Java 客户端套接字连接。在客户端上阅读消息时,我看到实际消息之前有空格

C++套接字多个请求

c - 使用 Unix 和 C/C++ 帮助阻止套接字

c - 如何遍历目录并对每个文件执行任务

django - nginx,uwsgi,DJango,DEBUG = False时的502, “upstream prematurely closed connection”

android - 如何在Android中读取套接字输入流

c++ - 通过 UDP 发送时的不同结果