js做的前端能通过websocket与c++写的后端交互,使用Easywsclient就可以实现。
1、WebSocket 类的写法:
//创建webSocket的工厂方法
static pointer from_url(std::string url);
// 创建一个初始的WebSocket
static pointer create_dummy();
//实现真正的网络连接,发送和接收等IO操作
void poll(int timeout = 0); // 参数是超时时间
//接收返回消息并传到callable中
template
void dispatch(Callable callable);
//发送text类型的消息
void send(std::string message);
//关闭连接
void close();
2、整体实现方法:
#include "easywsclient.hpp"
//#include "easywsclient.cpp" // <-- include only if you don't want compile separately
int
main()
{
...
using easywsclient::WebSocket;
WebSocket::pointer ws = WebSocket::from_url("ws://localhost:8126/foo");
assert(ws);
while (true) {
ws->poll();
ws->send("hello");
ws->dispatch(handle_message);
// ...do more stuff...
}
...
delete ws; // 可选, 使用 unique_ptr<> 如果使用的是 C++11
return 0;
}
Websocket是一种协议,所以不管什么语言写的后端,只要实现了这个协议就行了。