nodejs使用socket.io
时间: 2024-01-19 22:18:23 浏览: 138
基于NodeJS的聊天室程序(socket.io实现)
以下是一个使用Socket.IO在Node.js中实现通讯的示例代码:
1. 安装Socket.IO模块:
```shell
npm install socket.io
```
2. 创建服务器端(server.js):
```javascript
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
// 监听客户端连接事件
io.on('connection', function(socket){
console.log('A client connected.');
// 监听客户端发送的消息事件
socket.on('message', function(data){
console.log('Received message from client:', data);
// 触发事件告知客户端
io.emit('message', 'Server received your message: ' + data);
});
// 监听客户端离开事件
socket.on('disconnect', function(){
console.log('A client disconnected.');
// 触发事件告知服务端
io.emit('disconnect', 'A client disconnected.');
});
});
// 启动服务器
server.listen(3000, function(){
console.log('Server is running on port 3000.');
});
```
3. 创建客户端(client.html):
```html
<!DOCTYPE html>
<html>
<head>
<title>Socket.IO Client</title>
<script src="https://cdn.socket.io/socket.io-3.1.3.min.js"></script>
<script>
var socket = io();
// 发送消息给服务端
socket.emit('message', 'Hello, server!');
// 监听服务端发送的消息事件
socket.on('message', function(data){
console.log('Received message from server:', data);
});
// 监听服务端触发的离开事件
socket.on('disconnect', function(data){
console.log('Server:', data);
});
</script>
</head>
<body>
<h1>Socket.IO Client</h1>
</body>
</html>
```
请注意,以上代码仅为示例,实际使用时可能需要根据具体需求进行修改。
阅读全文