触发事件
Socket.IO 的主要理念是您可以发送和接收任何您想要的事件,以及任何您想要的数据。任何可以编码为 JSON 的对象都可以,并且 二进制数据 也受支持。
让我们让用户在输入消息时,服务器将其作为 chat message
事件接收。index.html
中的 script
部分现在应该如下所示
- ES6
- ES5
<script src="/socket.io/socket.io.js"></script>
<script>
const socket = io();
const form = document.getElementById('form');
const input = document.getElementById('input');
form.addEventListener('submit', (e) => {
e.preventDefault();
if (input.value) {
socket.emit('chat message', input.value);
input.value = '';
}
});
</script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
var form = document.getElementById('form');
var input = document.getElementById('input');
form.addEventListener('submit', function(e) {
e.preventDefault();
if (input.value) {
socket.emit('chat message', input.value);
input.value = '';
}
});
</script>
在 index.js
中,我们打印出 chat message
事件
io.on('connection', (socket) => {
socket.on('chat message', (msg) => {
console.log('message: ' + msg);
});
});
结果应该像下面的视频一样
信息
- CommonJS
- ES 模块
您可以在浏览器中直接运行此示例
您可以在浏览器中直接运行此示例