c++ 开发的 http server & WebSocket server

2019-12-14 21:27:36 +08:00
 kekxv

没错,我又来了宣传轮子了 kProxyCpp

https://github.com/kekxv/kProxyCpp

kProxyCpp 服务端软件

承接自 kHttpd 项目。

由于 kHttpd 项目使用了 libevent 开源库,其中某些特性导致使用上面不太方面(仅仅指的是我个人而言),所以重新开发了本项目。

功能说明

  1. http server 实现, http server 服务端功能,使用线程池为每个连接进行处理,所以每个请求都可以阻塞(但是并不建议,除非某种特定的场景,例如进行 http 代理服务,必须等到对方回应,不使用 libevent 其中一个原因)。

  2. WebSocket server 实现,当前项目实现了WebSocket server端代码,可以使用 c/c++ 愉快的开发WebSocket项目,同时WebSocket服务端也支持http server,也就是同一个端口同时使用WebSocket server 以及 http server,使得更方便一些。使用WebSocket server的情况下,请根据实际情况,加大线程数量以及监听数量,否则可能造成后续连接被阻塞。

  3. CGI 功能实现,目前实现 CGI 调用 php,可以使用php作为动态脚本进行开发,不过现在还未实现 phpPOST模式,即还未将 php body数据传入给CGI

2959 次点击
所在节点    程序员
4 条回复
yujincheng08
2019-12-15 21:20:52 +08:00
看着不错,支持做正向代理吗?
btw,我之前用的是 https://github.com/civetweb/civetweb
different
2019-12-15 21:56:01 +08:00
c++ WebSocket client 有木有推荐一波?
kekxv
2019-12-15 22:21:06 +08:00
@yujincheng08
正向代理的话没加进去,在考虑 ssl 问题,你可以试试 uwebsocket,这个支持客户端以及服务点
@different
uwebsocket 看一下?
这个的话之后再看看有时间加进去,和之前说的,ssl 问题
different
2019-12-16 09:35:18 +08:00
@kekxv uwebsocket 貌似只有服务端吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/629097

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX