Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Mac OS X上的异步I/O_C++_Iphone_Macos_Asynchronous_Polling - Fatal编程技术网

C++ Mac OS X上的异步I/O

C++ Mac OS X上的异步I/O,c++,iphone,macos,asynchronous,polling,C++,Iphone,Macos,Asynchronous,Polling,也就是说,在Mac OS X上进行异步I/O的最佳方式是什么(假设在Mac和iPhone/iPad上使用) 在Linux上,我们选择epoll,在Windows上选择I/O完成端口 最高优先级是性能和可伸缩性(数千个连接) 更新 嗯。由于达尔文是一个类似BSD的系统,我的共同想法是使用kqueue。这是正确的方向吗?很高兴能听到在这方面有经验的人的消息 谢谢如果您使用libev,您可以在各种兼容的异步IO后端(epoll、kqueue、select等)之间切换,而无需担心实现细节 是一个优秀的

也就是说,在Mac OS X上进行异步I/O的最佳方式是什么(假设在Mac和iPhone/iPad上使用)

在Linux上,我们选择epoll,在Windows上选择I/O完成端口

最高优先级是性能和可伸缩性(数千个连接)

更新

嗯。由于达尔文是一个类似BSD的系统,我的共同想法是使用kqueue。这是正确的方向吗?很高兴能听到在这方面有经验的人的消息


谢谢

如果您使用libev,您可以在各种兼容的异步IO后端(epoll、kqueue、select等)之间切换,而无需担心实现细节


是一个优秀的跨平台、高性能、C++网络库。在Mac OS X上,它使用kqueue作为反应堆事件循环,其他平台使用epoll、I/O完成端口、轮询或选择。它可以扩展到数千个连接,而不会出现问题。顾名思义,它通过使用proactor设计模式来实现并发而不使用线程来促进异步编程。

您想要在iPhone上安装C10K服务器吗?否:-)我只需要使其与iPhone兼容。我们的库包含客户端和服务器,所以客户端可以在iPhone上使用。。。。而且您不会被迫使用boost使应用程序膨胀:)