我有一个应用程序,我可能有很多进程必须向一个进程发送消息。我认为最有效的方法是发送UDP数据报。
打开套接字时,我需要指定要侦听的端口。因为我只是想解雇并忘记UDP数据报,所以我想让操作系统选择一个可用的端口。我宁愿不必寻找一个,特别是因为我的进程的许多实例可能正在运行。有没有办法告诉操作系统只选择一个可用的端口(或者更好,甚至不打开监听套接字)来触发并忘记我的UDP数据报?
答案 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
具体来说,我建议您在进程之间使用命名管道或共享内存。