js listen函数
时间: 2023-07-20 21:25:34 浏览: 59
JavaScript 中的 `listen` 函数通常用于创建 WebSocket 或者 HTTP 服务器。下面分别介绍这两种情况下的使用方法。
### 创建 WebSocket 服务器
使用 `ws` 模块可以轻松地创建一个 WebSocket 服务器。以下是使用 `listen` 函数创建 WebSocket 服务器的基本语法:
```javascript
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', (socket) => {
// 处理连接事件
});
server.on('listening', () => {
console.log('WebSocket server is listening on port 8080');
});
```
其中,`WebSocket.Server` 是一个构造函数,用于创建 WebSocket 服务器实例。我们可以将服务器配置信息传递给构造函数,如上面的示例中的 `{ port: 8080 }` 表示要监听的端口号为 `8080`。调用 `listen` 函数后,服务器就会开始监听指定的端口,并等待客户端的连接。当客户端成功连接到服务器时,会触发 `connection` 事件,并将该客户端的 WebSocket 对象作为参数传递给回调函数。
### 创建 HTTP 服务器
使用 `http` 模块可以创建一个 HTTP 服务器,并使用 `listen` 函数启动服务器。以下是使用 `listen` 函数创建 HTTP 服务器的基本语法:
```javascript
const http = require('http');
const server = http.createServer((req, res) => {
// 处理客户端请求
});
server.listen(8080, () => {
console.log('HTTP server is listening on port 8080');
});
```
其中,`http.createServer` 函数用于创建 HTTP 服务器实例。我们可以将一个回调函数作为参数传递给该函数,该回调函数会在每次接收到客户端请求时被调用,并将请求和响应对象作为参数传递进去。调用 `listen` 函数后,服务器就会开始监听指定的端口,并等待客户端的连接。当服务器接收到客户端的请求时,就会调用回调函数,我们可以在该回调函数中处理客户端的请求,并向客户端发送响应。