Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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++ C或C++;用于编码和解码websocket帧的库_C++_Sockets_Websocket_C Libraries - Fatal编程技术网

C++ C或C++;用于编码和解码websocket帧的库

C++ C或C++;用于编码和解码websocket帧的库,c++,sockets,websocket,c-libraries,C++,Sockets,Websocket,C Libraries,我有自己的套接字实现,支持从常规tcp客户端进行连接。现在我想在我的服务器程序中添加websocket支持。在这种情况下,我需要支持主要web浏览器支持的握手和消息帧协议。我能够处理握手部分,但在处理消息的框架和取消框架时陷入了困境。有没有现有的C或C++库处理WebSoSt消息帧的编码和解码,并支持主要Web浏览器使用的主要WebSoC协议? 我发现的大多数当前实现(即libwebsocket、websocketpp等)都实现了它们自己的服务器和客户端库,这意味着我需要使用它们的套接字实现。我

我有自己的套接字实现,支持从常规tcp客户端进行连接。现在我想在我的服务器程序中添加websocket支持。在这种情况下,我需要支持主要web浏览器支持的握手和消息帧协议。我能够处理握手部分,但在处理消息的框架和取消框架时陷入了困境。有没有现有的C或C++库处理WebSoSt消息帧的编码和解码,并支持主要Web浏览器使用的主要WebSoC协议?
我发现的大多数当前实现(即libwebsocket、websocketpp等)都实现了它们自己的服务器和客户端库,这意味着我需要使用它们的套接字实现。我不想这样做,因为这将需要我修改我当前程序中的很多东西,这不是我的选择。我需要的只是一个简单的库,用于处理websocket帧的编码和解码(和/或还处理握手部分,但这不是强制性的)。

websocketpp库设计精美,帧处理类不与套接字类混合。它依赖于BOOST和STL库。STL不是问题,BOOST依赖性很容易避免。只需从策略重构分支的文件开始。

Websocketpp库作者

帧处理和握手处理代码与套接字/网络代码完全分离。查看策略重构分支的processors文件夹。有一个用于草案76(hybi_遗留)和一个用于RFC6455(hybi/hybi_标题)。帧处理器从STL流中读取,您可以通过自己的网络代码或其他来源填充STL流


如果您有任何更具体的问题,请在github上向我发送PM。

框架c-parser(无握手)您可能会发现

从移植如何?代码看起来非常简单。在这里使用注释询问更多问题,这样其他人也可以从中学习。欢迎使用StackOverflow!请提供一个代码示例,而不仅仅是您答案的参考。我们在这方面有指导方针。