推荐答案
发送消息
在 Socket.IO 中,使用 socket.emit(eventName, data)
方法发送消息。eventName
是自定义的事件名称,data
是要发送的数据。
// 客户端发送消息 socket.emit('chat message', 'Hello, Server!'); // 服务器端发送消息 io.on('connection', (socket) => { socket.emit('welcome', 'Welcome to the chat!'); });
接收消息
使用 socket.on(eventName, callback)
方法接收消息。eventName
是事件名称,callback
是接收到消息后的回调函数。
-- -------------------- ---- ------- -- ------- -------------------- --------- -- - ------------------------ --------- --- -- -------- ------------------- -------- -- - --------------- --------- --------- -- - ------------------------ --------- --- ---
本题详细解读
Socket.IO 简介
Socket.IO 是一个基于事件的实时双向通信库,常用于构建实时应用程序,如聊天应用、实时通知等。它支持 WebSocket 协议,并在不支持 WebSocket 的情况下自动降级为其他协议(如轮询)。
发送消息
在 Socket.IO 中,emit
方法用于发送消息。eventName
是自定义的事件名称,用于标识消息的类型。data
是要发送的数据,可以是字符串、对象、数组等。
- 客户端发送消息:客户端通过
socket.emit
方法向服务器发送消息。 - 服务器端发送消息:服务器通过
socket.emit
方法向客户端发送消息。
接收消息
on
方法用于监听特定事件的消息。当接收到指定事件的消息时,回调函数会被触发,并传入接收到的数据。
- 客户端接收消息:客户端通过
socket.on
方法监听服务器发送的消息。 - 服务器端接收消息:服务器通过
socket.on
方法监听客户端发送的消息。
示例代码
以下是一个简单的聊天应用示例:
-- -------------------- ---- ------- -- ------ ----- -- - --------------------------- ------------------- -------- -- - -------------- ---- ------------ --------------- --------- ----- -- - --------------------- - - ----- ------------- --------- ----- -- ---------- --- ----------------------- -- -- - ----------------- --------------- --- --- -- ----- ----- ------ - ---------------------------- -------------------- -- -- - ---------------------- -- --------- --- --------------- --------- ----- -- - ------------------------ ----- --- -- ---- ----------------- --------- ------- ----------
在这个示例中,客户端连接到服务器后,可以发送和接收聊天消息。服务器接收到消息后,会将消息广播给所有连接的客户端。