问题是有两个过程:
- 进程 A 只知道发送。
- 进程 B 只知道接收。
进程 C 是已编译的二进制文件,因此无法更改。
进程 C 必须从 A 接收并发送到 B。我将进程 B 绑定到端口 X。由于进程 A 每次总是从不同的随机端口发送,而进程 C 将其应答到这些端口,进程 B 永远不会获取数据。
目前我的解决方案:
- 绑定进程 B 监听端口 X(使用重用)
- 绑定进程 A 从端口 X 发送(使用重用)
- 始终先从 A 开始,然后再从 B 开始。
该解决方案有效,但不一致。
所以问题是:是否有可能从特定端口发送到 localhost UDP 数据包而不绑定到它?也许其他一些解决方案?
这是当前状态的图表: