vue项目里使用websocket创建一个服务端
时间: 2023-10-16 09:20:52 浏览: 98
首先,你需要在Vue项目中安装`socket.io-client`依赖包,可以使用以下命令进行安装:
```
npm install socket.io-client --save
```
接着,在Vue组件中引入`socket.io-client`依赖包,并创建一个WebSocket连接,如下所示:
```javascript
import io from 'socket.io-client';
export default {
data() {
return {
socket: null,
};
},
mounted() {
// 创建socket连接
this.socket = io('http://localhost:3000');
// 监听连接成功事件
this.socket.on('connect', () => {
console.log('连接成功');
});
// 监听服务器发送的消息
this.socket.on('receiveMessage', (message) => {
console.log(message);
});
},
methods: {
// 发送消息
sendMessage() {
this.socket.emit('sendMessage', 'Hello, World!');
},
},
};
```
以上代码中,我们首先引入了`socket.io-client`依赖包,并在`mounted`生命周期函数中创建了一个WebSocket连接,连接到了本地的3000端口,同时也监听了连接成功事件。接着,我们监听了服务器发送的消息,并在控制台输出了消息。最后,我们在`sendMessage`方法中向服务器发送了一条消息。
在服务端,你需要使用`socket.io`依赖包来创建WebSocket服务,可以使用以下命令进行安装:
```
npm install socket.io --save
```
接着,创建一个`app.js`文件,并编写WebSocket服务的代码,如下所示:
```javascript
const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
// 监听连接事件
io.on('connection', (socket) => {
console.log('客户端已连接');
// 监听客户端发送的消息
socket.on('sendMessage', (message) => {
console.log(message);
// 向客户端发送消息
io.emit('receiveMessage', message);
});
// 监听断开连接事件
socket.on('disconnect', () => {
console.log('客户端已断开连接');
});
});
// 启动WebSocket服务
server.listen(3000, () => {
console.log('WebSocket服务已启动');
});
```
以上代码中,我们首先引入了`express`和`socket.io`依赖包,并创建了一个`server`对象。接着,我们使用`io.on('connection', callback)`方法监听了客户端连接事件,并在回调函数中输出了客户端已连接的信息。同时,我们也监听了客户端发送的消息,并向所有客户端发送了接收到的消息。最后,我们监听了客户端断开连接事件,并在回调函数中输出了客户端已断开连接的信息。
最后,在命令行窗口中运行以下命令启动WebSocket服务:
```
node app.js
```
至此,你已经成功创建了一个WebSocket服务,并在Vue项目中使用WebSocket与服务端进行通信。
阅读全文