2011-08-05 81 views
1

我有在Ubuntu(Linux)上运行的javascript(客户端 - 通过node.js执行)和C++(服务器)代码,我希望这个客户端服务器可以相互通信。有人能告诉我如何使C++代码像使用Web套接字的服务器或客户端一样工作吗?基本上,我想要JavaScript代码将一些数据发送到C++代码,C++代码将处理数据并将结果返回给JavaScript代码。我不确定在JavaScript和C++代码之间的这种通信是否可以在web套接字之外发生。任何在这个方向的指针都会有很大的帮助!通过web套接字在javascript和C++代码之间进行通信?

感谢, 拍

+1

http://stackoverflow.com/questions/3916217/standalone-c-websocket-server-library –

回答

-1

的Javascript方面,你可能会想使用一个XmlHttpRequest。这将导致JavaScript向您的服务器发送HTTP(s)请求。对于C++服务器端,您可以查看类似Pion的内容,以获取可嵌入的HTTP服务器,或者如果您想链接到完整的Web服务器(如Apache),则可以使用Fast CGI将服务器代码插入到Apache中。

0

最近开始工作在C++的WebSocket库:https://github.com/szmoore/foxbox

一个WebSocket的服务器的一个例子是:https://github.com/szmoore/foxbox/blob/master/examples/wsserver.cpp

我也有一个JavaScript客户端的一个例子。

警告:该库不支持TLS,它基于POSIX套接字,并且仍处于开发阶段,可能是非常不安全的。

所以,虽然恬不知耻地宣传我自己的图书馆我也将指向你在libwebsockets,C库在回答提出这个问题:https://stackoverflow.com/questions/3916217/standalone-c-or-c-websocket-server-library?lq=1

0

您有几种选择。我假设你的C++服务器已经有一个运行在它上面的websocket服务器,但是如果没有的话,可以使用Mongoose或者非GPL fork Civetweb。这两个代码都是C程序的一小部分,你可以在C++程序中添加web服务器,包括websockets,功能。

事实上,civetweb带有一个websocket示例。

但是,你不需要websocket,只需要一个普通的套接字就可以。您可能希望以JSON格式发送数据,以便使JavaScript代码易于使用。

相关问题