gpt4 book ai didi

c - mac osx 上的 select() 套接字系统调用需要很长时间才能读取

转载 作者:太空宇宙 更新时间:2023-11-03 23:56:52 25 4
gpt4 key购买 nike

我们正在开发需要通过 TCP 发送和接收数据的跨平台网络应用程序。在 Linux 上,我们使用 select() 来等待发送和接收,以确保套接字准备就绪。然而,在 OSX 上,select for read 返回的时间非常荒谬——超过 20 秒。 select() 没有超时——我们的超时是 60 秒,数据正在返回,只是慢得可笑。这仅发生在读取时,不会发生在发送时。网络似乎很好(同样,同一网络上的 linux 机器似乎没有相同的问题)。

有人知道在 OSX 中使用套接字编程的任何注意事项吗?

最佳答案

你试过了吗kqueue(2)在 OSX 和 epoll(7) 上在 Linux 上?这些是用于 I/O 事件处理的更高性能和更灵活的接口(interface),尽管特定于平台。您也可以看看 libevent为您抽象所有这些。

关于c - mac osx 上的 select() 套接字系统调用需要很长时间才能读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3532634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com