无法在iOS10

时间:2017-02-07 12:34:59

标签: ios sockets

这是一个奇怪的事情,我创建了两个套接字并将它们绑定到完全相同的地址(INADDR_ANY)和端口。

SO_REUSEADDR设置为两个套接字时,第二个绑定将失败并显示错误EADDRINUSE

SO_REUSEPORT设置为两个套接字时,所有绑定调用都将成功,但只有第一个套接字可以接收数据,稍后绑定的套接字将永远不会收到任何数据。

我目前正在开发iOS 10,我相信它在Android上的工作方式不同。 有人见过同样的问题吗?这是iOS预期的行为吗?如何在不释放第一个插槽的情况下接收第二个插槽的数据?

1 个答案:

答案 0 :(得分:0)

通过简单的演示,我可以确认这是iOS(以及类似的基于BSD的系统)的预期行为,而Linux / Android的行为则相反。