最近写一段简单的 UDP 代码,结果在死活不能正常运行。根本原因尚未查明,但找到了规避方案,拟此文章记之。
简化后的代码如下。这段代码初始化两个地址,然后本地监听,最后发送到指定的远程。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
在 MacOS 上运行上述代码,会报告以下错误:
1 2 3 4 5 6 7 8 |
|
在网上搜索了很久,几乎没找到答案。有人说是 MacOS 的问题,结果我在我的树莓派 Linux 上面尝试运行,真的能运行。 然而并没有找到 MacOS 不能运行上述代码的真实原因。
而后又瞎搜索折腾了一个小时之久,仍然没有答案。 然后我做了一个修改
把本地地址从
127.0.0.1
改成0.0.0.0
在 MacOS 上就可以运行了。
等哪天找到真实原因了再来更新。