当前位置: 技术问答>linux和unix
关于linux下,用C/C++开发http server的问题
来源: 互联网 发布时间:2016-02-18
本文导语: 我想让一个线程只负责去监听消息,另一个线程处理数据和发送响应,请问可以实现么?是不是保存accept()的 返回值就可以了? | 这个其实不复杂,关键需要分析http的各种消息类型,了解清...
我想让一个线程只负责去监听消息,另一个线程处理数据和发送响应,请问可以实现么?是不是保存accept()的 返回值就可以了?
|
这个其实不复杂,关键需要分析http的各种消息类型,了解清楚http协议的规则,通读rfc。
http服务器端一般需要考虑一定的抗压性,所以一般采用多线程机制,用两个线程是不够的,一般一个主线程负责监听,每一个连接都由一个子线程处理,最稳定的解决方案是使用线程池模型。
在协议分析处理部分一般只要处理好各种消息的分支就可以了。
你可以参考一下各种嵌入式系统上的小的HTTP服务器。
http服务器端一般需要考虑一定的抗压性,所以一般采用多线程机制,用两个线程是不够的,一般一个主线程负责监听,每一个连接都由一个子线程处理,最稳定的解决方案是使用线程池模型。
在协议分析处理部分一般只要处理好各种消息的分支就可以了。
你可以参考一下各种嵌入式系统上的小的HTTP服务器。
|
主要是socket值。