62 lines
1.7 KiB
Markdown
62 lines
1.7 KiB
Markdown
Here is the compatibility table with the Node.js server:
|
|
|
|
<table>
|
|
<tr>
|
|
<th rowspan="2">Swift Client version</th>
|
|
<th colspan="3">Socket.IO server version</th>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">2.x</td>
|
|
<td align="center">3.x</td>
|
|
<td align="center">4.x</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">v15.x</td>
|
|
<td align="center"><b>YES</b></td>
|
|
<td align="center"><b>YES</b><sup>1</sup></td>
|
|
<td align="center"><b>YES</b><sup>2</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">v16.x</td>
|
|
<td align="center"><b>YES</b><sup>3</sup></td>
|
|
<td align="center"><b>YES</b></td>
|
|
<td align="center"><b>YES</b></td>
|
|
</tr>
|
|
</table>
|
|
|
|
[1] Yes, with <code><a href="https://socket.io/docs/v4/server-initialization/#allowEIO3">allowEIO3: true</a></code> (server) and `.connectParams(["EIO": "3"])` (client):
|
|
|
|
*Server*
|
|
|
|
```js
|
|
const { createServer } = require("http");
|
|
const { Server } = require("socket.io");
|
|
|
|
const httpServer = createServer();
|
|
const io = new Server(httpServer, {
|
|
allowEIO3: true
|
|
});
|
|
|
|
httpServer.listen(8080);
|
|
```
|
|
|
|
*Client*
|
|
|
|
```swift
|
|
SocketManager(socketURL: URL(string:"http://localhost:8080/")!, config: [.connectParams(["EIO": "3"])])
|
|
```
|
|
|
|
[2] Yes, <code><a href="https://socket.io/docs/v4/server-initialization/#allowEIO3">allowEIO3: true</a></code> (server)
|
|
|
|
[3] Yes, with `.version(.two)` (client):
|
|
|
|
```swift
|
|
SocketManager(socketURL: URL(string:"http://localhost:8080/")!, config: [.version(.two)])
|
|
```
|
|
|
|
See also:
|
|
|
|
- Migrating from 2.x to 3.0: https://socket.io/docs/v4/migrating-from-2-x-to-3-0/
|
|
- Migrating from 3.x to 4.0: https://socket.io/docs/v4/migrating-from-3-x-to-4-0/
|
|
- Socket.IO protocol: https://github.com/socketio/socket.io-protocol
|