C++;Websocket服务器启动的数据 我需要在Linux上运行C++代码的WebSoSver服务器。 有时,我还需要将数据异步推送到客户端

C++;Websocket服务器启动的数据 我需要在Linux上运行C++代码的WebSoSver服务器。 有时,我还需要将数据异步推送到客户端,c++,linux,websocket,server,C++,Linux,Websocket,Server,到目前为止,我已经尝试了beast echo服务器、libwebsocket测试服务器和 libonion(如果尝试从浏览器连接时出错,它将崩溃) “如果没有编译gnutls,则无法计算SHA1!正在中止”。但是,我还没有找到任何可以构建的基础 下面我试图通过虚拟测试类提供更多信息 test.cpp class test { public: void processDataFromClient(const string & data);//this needs to get filled

到目前为止,我已经尝试了beast echo服务器、libwebsocket测试服务器和 libonion(如果尝试从浏览器连接时出错,它将崩溃) “如果没有编译gnutls,则无法计算SHA1!正在中止”。但是,我还没有找到任何可以构建的基础

下面我试图通过虚拟测试类提供更多信息

test.cpp
class test
{
public:
void processDataFromClient(const string & data);//this needs to get filled by websocket read method? how?
void pushDataToClient(const string & data);

};
test::pushDataToClient(const string & data)
{
(socketId, text) // how do I call this from my test.cpp ?
}

test::void processDataFromClient(const string & data)
{
//do some computation based on the text received
//turn on the light
//once Light is on for a minute call
pushDataToClient( lighton) ;
}

//websocket_server.cpp 
main
{
//open a webSocket
//listen for messages from client i.e pass data received from onion_websocket_read to test class by calling processDataFromClient();
//send asynchronous messages to client received from test class. i.e. pushDataToClient should invoke onion_websocket_write //do we need a thread for this ? how to achieve this?

}
我正在寻找一个简单的接口,它允许我启动一个websocket,异步地向/从客户机接收和发送数据

<>我需要在Linux上运行C++代码的服务器 支持Angular JS客户端。有哪些选项可用?我可以吗 使用C++在原始套接字、Boost ASIO服务器、CGI上实现服务器 基于服务器支持,REST服务器还是有更好/更快的 选项。我以前从未实现过,也不知道 每个选项的缺点/优点。我从未对CGI和 RESTAPI。请告诉我您的意见

<>也许我误解了你的问题,但是你是说重写C++中的基于socket的Apache(或者NoDEJS)吗?AngularJS是一个在浏览器中运行的框架。您的意思是用C++提供基于HTML/HTTP的应用程序?这将包括其他框架和基于JavaScript的实现。 如果这是要求,我不会从头开始做这件事。这是一项艰巨的任务。有一些项目你可以合作并建立在它们之上

以下是一些参考资料:

编辑:基于下面的注释,也许是其中的一个解决方案?它们是使您能够从节点/ Apache调用C++程序的模块:



你首先需要深入理解,以及两者之间的密切关系。花几周时间研究两者。你可能还需要理解&JavaScript&

(因此,你可能需要先花几个月的时间学习更多关于这些主题的知识;你可以找到一些与它们相关的书籍和网站。)

最好使用一些C和C++ HTTP服务器库,也提供WebSoCube支持。比如,(也许,但我不确定它支持WebSoCusits)。

在花了一些时间(也许几个月,几天还不够)来理解HTTP& WebSoCKET之后,你可能会意识到你应该实现一个既处理HTTP又支持WebSoCukes的C++服务器程序。C++程序“简单”只做WebSooCK——不处理HTTP——可能毫无意义,当然毫无用处。但是C++中的专用HTTP+WebSoCulver服务器程序可以从通用Web服务器上转发一些请求(读有关)。


参见wikiPig.

我有一个用AngularJS开发的GUI/客户端,它将发送HTTP请求给Linux上运行的C++代码。我需要解析这些请求并发送响应给客户端。我很快就查看了你发送的链接,但它也对我很有压榨力,因为它没有指定一个特定的解决方案。我想你。提出了一个基于C++的服务器框架,在这里我不必从头开始。如果你愿意,请你提出更多信息的步骤。我建议C++服务器框架,因为这是你要的。如果你使用角,你必须知道一些JavaScript。也许先看看NoDEJs,看看你是否能写下。C++插件是什么?当然,有Apache,它是java。我遇到C++的框架。不确定,如果我应该使用这个。请让我知道你的评论。LyBONION支持WebSooCts。我用它来达到这个目的。你需要一个最近的快照,那就是图书馆对WebSoCKPP库的简单Web服务器做了一些修改。代码以获得所需的行为。