# Socket.IO C++ 客户端 由于使用 C++ 编写,该客户端可在多个不同的平台上运行。[示例](https://github.com/socketio/socket.io-client-cpp/tree/master/examples) 文件夹中包含 iPhone、QT 和控制台版的聊天客户端示例!它依赖于 [websocket++](https://github.com/zaphoyd/websocketpp),并受到 [socket.io-clientpp](https://github.com/ebshimizu/socket.io-clientpp) 的启发。
| C++ 客户端版本 |
Socket.IO 服务器版本 |
| 1.x / 2.x |
3.x / 4.x |
2.x (2.x 分支) |
是 |
是,使用 allowEIO3: true |
3.x (master 分支) |
否 |
是 |
## 特性
- 100% 使用现代 C++11 编写
- 二进制支持
- 自动 JSON 编码
- 多路复用支持
- 与 Socket.IO JS 客户端的 API 相似
- 跨平台
注意: 目前仅实现了 WebSocket 传输(没有回退到 HTTP 长轮询)
// 发送文本
h.socket()->emit("add user", username);
// 发送二进制数据
char buf[100];
h.socket()->emit("add user", std::make_shared(buf, 100));
// 使用 lambda 确认处理器发送消息对象
h.socket()->emit("add user", string_message::create(username), [&](message::list const& msg) {
});
// 发送多个参数