如何使用unix Sockets API查找本地可用的UDP端口

时间:2008-11-09 23:12:14

标签: udp port ip

我有一个应用程序,我可能有很多进程必须向一个进程发送消息。我认为最有效的方法是发送UDP数据报。

打开套接字时,我需要指定要侦听的端口。因为我只是想解雇并忘记UDP数据报,所以我想让操作系统选择一个可用的端口。我宁愿不必寻找一个,特别是因为我的进程的许多实例可能正在运行。有没有办法告诉操作系统只选择一个可用的端口(或者更好,甚至不打开监听套接字)来触发并忘记我的UDP数据报?

2 个答案:

答案 0 :(得分:3)

是。指定0作为端口。操作系统将为您选择一个可用的端口。

答案 1 :(得分:0)

回答“问题”而不是“问题”

如果所有进程都在同一台PC上运行,您可能需要查看共享文件或除网络堆栈之外的其他一些通信方式。

我建议你探索Boost的Interprocess库中的选项 http://www.boost.org/doc/libs/1_37_0/doc/html/interprocess.html

快速指南: http://www.boost.org/doc/libs/1_37_0/doc/html/interprocess/quick_guide.html

具体来说,我建议您在进程之间使用命名管道或共享内存。