Async Socket IO
Async Socket IO
为了刷新和扩展我的c++知识,我正在尝试实现fcgi应用程序并实现fcgi接口。然而,我没有使用套接字的经验。研究让我找到了Boost。asio,但是由于我缺乏套接字知识,我发现很难通过教程来使用这个库,这些教程有时只是代码示例,当你不知道你在找什么时,浏览一个api参考是很困难的。
问题:
- 哪个教程(除了boost.asio)/书你会推荐阅读套接字/异步IO?
- 对于fcgi,我发现很难理解AsyncIO的好处,头必须先解码,然后可以接收数据,如何通过异步I/O获得好处? 是否有一些启发式来知道哪些参数(线程数,每个线程的套接字,套接字多路复用(是(有多少连接?)/否,异步IO,缓冲区大小)为fcgi接口产生最佳性能?
我推荐(免费)BeeJs网络指南或(付费)W Richard Stevens关于sockets的书。
AIO(在本例中)是一种对多个连接进行多路复用的方法。如果你没有多个连接,你不会看到任何好处。这也是完成这项任务最快但最难的方法。其思想是,任何个人对连接的读写都可能需要等待资源可用的时间。AIO允许您的应用程序在等待这些资源的同时转移到另一个连接和服务。简而言之,你的应用程序在多个连接上花费更多的时间工作,更少的时间等待。
。这取决于您的体系结构和预期负载。真正聪明的web服务器会根据配置和测量的使用情况调整所有这些。
相关文章:
- Seg Fault Issue C++ (file IO / getline)
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 为什么在读取文件大小时文件IO速度会发生变化
- Agora.io 虚幻引擎插件构建错误
- C/C++:socket() 创建在循环中失败,打开的文件太多
- 不将数据 socket.io c++(客户端)发送到 nodejs(服务器)socket.io
- 通过 Tor 服务C++ socket.io 客户端
- Socket.io客户端C++,从Socket.on获取数组
- 如何使用C 在socket.io中接收数据
- socket.io client std :: bind-错误C2338:元组索引限制
- 您可以从C 程序连接到socket.io吗?
- html5 socket.io是否在C 中可用
- socket.io with c++?
- Socket.io (node.js) 未检测到连接的 QTcpSocket
- 将Node.js+Socket.io封装到OSX可执行文件中的可靠方法?(或C/C++/Objective-C库作为替代
- Socket.io在IE11中以突发方式传输数据
- 是否strand和io对象(如tcp::socket)需要担心相关联的io_service的生命周期?
- Socket.IO CPP客户端示例(std::bind的用法)
- Async Socket IO
- 在c++服务器上处理用WebRTC (Socket.IO)捕获的视频数据