参考
https://socket.io/docs
https://www.jianshu.com/p/a3e06ec1a3a0
Socket.IO不是WebSocket实现。尽管Socket.IO确实在可能的情况下使用WebSocket作为传输,但它在每个数据包中添加了一些元数据:需要消息确认时的数据包类型、命名空间和数据包id。这就是为什么WebSocket客户端无法成功连接到Socket.IO服务器,而Socket.IO客户端也无法连接到WebSocket服务器。[请参阅此处的协议规范](https://github.com/socketio/socket.io-protocol)。
服务端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| io.on('connection', function(socket){ socket.emit('request', );
socket.broadcast.emit('llc connected');
io.emit('broadcast', );
socket.on('disconnect', function () { io.emit('user disconnected'); });
});
var chat = io .of('/chat') .on('connection', function (socket) { socket.emit('a message', { that: 'only', '/chat': 'will get' }); chat.emit('a message', { everyone: 'in', '/chat': 'will get' }); });
|
客户端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| var socket = io();
socket.on('request', (msg)=>{
})
socket.on('connect', function () { socket.emit('ferret', 'tobi', 'woot', function (data) { console.log(data); }); });
socket.emit('reply', {a:1})
var chat = io.connect('http://localhost/chat')
|