js websocket
时间: 2023-07-08 13:17:51 浏览: 83
Websocket 是一种在客户端和服务器之间建立实时双向通信的协议。在 Websocket 中,客户端和服务器之间建立一个持久化的连接,可以通过这个连接实时地进行数据传输。在 JavaScript 中,我们可以通过 WebSocket API 来创建和管理 Websocket 连接。首先,我们需要创建一个 WebSocket 对象,然后通过它的方法来连接服务器、发送数据、接收数据等操作。例如:
```javascript
// 创建 WebSocket 对象
const socket = new WebSocket('ws://localhost:8080');
// 监听连接打开事件
socket.addEventListener('open', event => {
console.log('连接已打开');
});
// 监听接收到消息事件
socket.addEventListener('message', event => {
console.log('收到消息:', event.data);
});
// 发送消息
socket.send('Hello, server!');
```
在这个例子中,我们创建了一个 WebSocket 对象,连接到了本地的 8080 端口。当连接打开时,会输出“连接已打开”的信息。当收到消息时,会输出“收到消息:”和消息内容。最后,我们通过 `send` 方法向服务器发送了一条消息。
相关问题
js websocket header
在 JavaScript 中使用 WebSocket 时,可以通过设置 WebSocket 对象的属性来添加头信息(Header)。
例如,要在 WebSocket 连接中添加自定义头信息,可以使用以下代码:
```
var socket = new WebSocket('ws://localhost:8080', ['my-custom-header']);
```
这里的 "my-custom-header" 是自定义的头信息字段名称。
在服务端,可以通过读取请求头信息来获取这个自定义头信息。以下是使用 Node.js 的示例代码:
```javascript
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', (socket, request) => {
const customHeader = request.headers['my-custom-header'];
console.log(`Received custom header: ${customHeader}`);
});
```
这里的 request 是一个 HTTP 请求对象,可以通过它访问请求头信息。
js websocket封包
JS WebSocket封包是指将数据按照一定的格式打包成一个数据包,以便于在WebSocket通信中传输。下面是一个简单的JS WebSocket封包的例子:
```javascript
function packData(data) {
const packet = {
type: 'message',
data: data
};
return JSON.stringify(packet);
}
```
在这个例子中,我们定义了一个名为`packData`的函数,它接受一个数据参数`data`,并将其封装成一个JSON格式的数据包。这个数据包包含了一个`type`字段和一个`data`字段,其中`type`字段表示数据包的类型,`data`字段表示数据包的内容。最后,我们使用`JSON.stringify`将数据包转换成字符串格式,以便于在WebSocket通信中传输。
阅读全文