V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kekxv
V2EX  ›  程序员

c++ 开发的 http server & WebSocket server

  •  
  •   kekxv · 2019-12-14 21:27:36 +08:00 · 2959 次点击
    这是一个创建于 1802 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没错,我又来了宣传轮子了 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

    4 条回复    2019-12-16 09:35:18 +08:00
    yujincheng08
        1
    yujincheng08  
       2019-12-15 21:20:52 +08:00
    看着不错,支持做正向代理吗?
    btw,我之前用的是 https://github.com/civetweb/civetweb
    different
        2
    different  
       2019-12-15 21:56:01 +08:00
    c++ WebSocket client 有木有推荐一波?
    kekxv
        3
    kekxv  
    OP
       2019-12-15 22:21:06 +08:00 via Android
    @yujincheng08
    正向代理的话没加进去,在考虑 ssl 问题,你可以试试 uwebsocket,这个支持客户端以及服务点
    @different
    uwebsocket 看一下?
    这个的话之后再看看有时间加进去,和之前说的,ssl 问题
    different
        4
    different  
       2019-12-16 09:35:18 +08:00 via Android
    @kekxv uwebsocket 貌似只有服务端吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2681 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 665ms · UTC 15:37 · PVG 23:37 · LAX 07:37 · JFK 10:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.