<commit_before># Socket.IO C++ Client

[![Build Status](https://github.com/socketio/socket.io-client-cpp/workflows/CI/badge.svg)](https://github.com/socketio/socket.io-client-cpp/actions)

By virtue of being written in C++, this client works in several different platforms. The [examples](https://github.com/socketio/socket.io-client-cpp/tree/master/examples) folder contains an iPhone, QT and Console example chat client! It depends on [websocket++](https://github.com/zaphoyd/websocketpp) and is inspired by [socket.io-clientpp](https://github.com/ebshimizu/socket.io-clientpp).

[![Clients with iPhone, QT, Console and web](https://cldup.com/ukvVVZmvYV.png)](https://github.com/socketio/socket.io-client-cpp/tree/master/examples)

## Compatibility table

| C++ Client version  | Socket.IO server version |
| ------------------- | ------------------------ |
| 2.x (`2.x` branch)  | 1.x / 2.x                |
| 3.x (master branch) | 3.x                      |

## Features

- 100% written in modern C++11
- Binary support
- Automatic JSON encoding
- Multiplex support
- Similar API to the Socket.IO JS client
- Cross platform

Note: Only the WebSocket transport is currently implemented (no fallback to HTTP long-polling)

## Installation alternatives

* [With CMAKE](./INSTALL.md#with-cmake)
* [Without CMAKE](./INSTALL.md#without-cmake)
* [iOS and OS X](./INSTALL_IOS.md)
 * Option 1: Cocoapods
 * Option 2: Create a static library<commit_msg>docs: update compatibility table for Socket.IO v4<commit_after># Socket.IO C++ Client

[![Build Status](https://github.com/socketio/socket.io-client-cpp/workflows/CI/badge.svg)](https://github.com/socketio/socket.io-client-cpp/actions)

By virtue of being written in C++, this client works in several different platforms. The [examples](https://github.com/socketio/socket.io-client-cpp/tree/master/examples) folder contains an iPhone, QT and Console example chat client! It depends on [websocket++](https://github.com/zaphoyd/websocketpp) and is inspired by [socket.io-clientpp](https://github.com/ebshimizu/socket.io-clientpp).

[![Clients with iPhone, QT, Console and web](https://cldup.com/ukvVVZmvYV.png)](https://github.com/socketio/socket.io-client-cpp/tree/master/examples)

## Compatibility table

<table>
  <tr>
    <th rowspan="2">C++ Client version</th>
    <th colspan="2">Socket.IO server version</th>
  </tr>
  <tr>
    <td align="center">1.x / 2.x</td>
    <td align="center">3.x / 4.x</td>
  </tr>
  <tr>
    <td>2.x (<code>2.x</code> branch)</td>
    <td align="center">YES</td>
    <td align="center">YES, with <code><a href="https://socket.io/docs/v4/server-initialization/#allowEIO3">allowEIO3: true</a></code></td>
  </tr>
  <tr>
    <td>3.x (<code>master</code> branch)</td>
    <td align="center">NO</td>
    <td align="center">YES</td>
  </tr>
</table>

## Features

- 100% written in modern C++11
- Binary support
- Automatic JSON encoding
- Multiplex support
- Similar API to the Socket.IO JS client
- Cross platform

Note: Only the WebSocket transport is currently implemented (no fallback to HTTP long-polling)

## Installation alternatives

* [With CMAKE](./INSTALL.md#with-cmake)
* [Without CMAKE](./INSTALL.md#without-cmake)
* [iOS and OS X](./INSTALL_IOS.md)
 * Option 1: Cocoapods
 * Option 2: Create a static library
{'fraction_non_alphanumeric': 0.17015468607825296, 'fraction_numerical': 0.010009099181073703, 'mean_word_length': 3.7797101449275363, 'pattern_counts': {'":': 0, '<': 41, '<?xml version=': 0, '>': 41, 'https://': 15, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1904706', 'n_tokens_mistral': 1160, 'n_tokens_neox': 1087, 'n_words': 270}