使用TypeScript创建webSocket通信
时间: 2024-05-11 18:13:58 浏览: 22
1.安装WebSocket库
首先需要安装WebSocket库,可以使用npm来安装:
```
npm install --save ws
```
2.创建WebSocket服务器
在Express应用程序中,可以使用ws库中的WebSocket.Server类来创建WebSocket服务器。以下是创建WebSocket服务器的示例代码:
```typescript
import * as express from 'express';
import * as WebSocket from 'ws';
const app = express();
// 创建WebSocket服务器
const wss = new WebSocket.Server({ port: 8080 });
// 监听WebSocket连接
wss.on('connection', (ws: WebSocket) => {
console.log('Client connected');
// 监听消息
ws.on('message', (message: string) => {
console.log(`Received message => ${message}`);
});
// 发送消息
ws.send('Hello, client!');
});
app.listen(3000, () => console.log('Express app listening on port 3000'));
```
在以上示例代码中,我们首先导入所需的库,并创建了一个Express应用程序。然后,我们使用WebSocket.Server类创建了一个WebSocket服务器实例,并将其绑定到8080端口上。接着,我们使用wss.on()方法监听所有WebSocket连接,并在有新客户端连接时打印一条日志。在客户端发送消息时,我们使用ws.on()方法监听并打印消息。最后,我们使用ws.send()方法向每个客户端发送一条欢迎消息。
3.创建WebSocket客户端
为了测试WebSocket服务器,我们需要创建一个WebSocket客户端。以下是创建WebSocket客户端的示例代码:
```typescript
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = () => {
console.log('Connected to server');
ws.send('Hello, server!');
};
ws.onmessage = (message: MessageEvent) => {
console.log(`Received message => ${message.data}`);
};
```
在以上示例代码中,我们首先创建了一个WebSocket实例,并将其连接到WebSocket服务器的地址。当WebSocket连接成功时,我们使用ws.onopen()方法监听并打印一条日志,并使用ws.send()方法向服务器发送一条消息。在接收到服务器的消息时,我们使用ws.onmessage()方法监听并打印消息。