演示使用typescript和socket.io在express.js中创建websocket服务器
时间: 2024-02-13 11:06:57 浏览: 197
好的,下面是使用 TypeScript 和 Socket.IO 在 Express.js 中创建 WebSocket 服务器的示例代码:
首先,确保你已经安装了 TypeScript、Express.js 和 Socket.IO:
```
npm install typescript express socket.io
```
在项目根目录下创建一个 `tsconfig.json` 文件,用于配置 TypeScript 编译器:
```json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "./dist",
"esModuleInterop": true
},
"include": ["./src"]
}
```
接着,在项目根目录下创建一个 `src` 目录,并在其中创建一个 `index.ts` 文件,用于启动 Express.js 应用程序和 WebSocket 服务器:
```typescript
import * as express from "express";
import * as http from "http";
import * as socketio from "socket.io";
const app = express();
const server = http.createServer(app);
const io = socketio(server);
io.on("connection", (socket) => {
console.log("A user connected");
socket.on("disconnect", () => {
console.log("User disconnected");
});
});
server.listen(3000, () => {
console.log("App listening on port 3000");
});
```
在上面的代码中,我们创建了一个 Express.js 应用程序、一个 HTTP 服务器和一个 Socket.IO 服务器。然后,我们在 `io.on("connection")` 回调函数中处理 WebSocket 连接和断开连接事件。
最后,修改 `package.json` 文件中的 `"start"` 命令,让 TypeScript 编译器编译 TypeScript 代码,并启动 Express.js 应用程序和 WebSocket 服务器:
```json
{
"name": "typescript-socketio-example",
"version": "1.0.0",
"scripts": {
"start": "tsc && node ./dist/index.js"
},
"dependencies": {
"express": "^4.17.1",
"socket.io": "^4.0.1"
},
"devDependencies": {
"typescript": "^4.3.4"
}
}
```
现在,运行 `npm start` 命令,你应该能够在浏览器中打开 `http://localhost:3000`,并在控制台中看到 WebSocket 连接和断开连接事件的日志输出。
阅读全文