WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许服务器主动向客户端推送数据,非常适合需要实时数据交互的应用场景。
WebSocket通过一个HTTP请求进行握手,然后升级到WebSocket协议。一旦连接建立,客户端和服务器就可以通过同一个TCP连接发送和接收消息。
WebSocket协议本身没有明确的类型划分,但可以根据使用场景分为:
配置WebSocket域名通常涉及服务器和客户端的设置。
假设你有一个域名example.com,并且你想在该域名下启用WebSocket服务。你需要在服务器上配置相应的端口和路由。
以Node.js为例,你可以使用ws库来创建WebSocket服务器:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});然后,你需要配置Nginx或Apache等反向代理服务器,将WebSocket请求转发到你的Node.js服务器。例如,在Nginx中,你可以这样配置:
server {
listen 80;
server_name example.com;
location /ws {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}在客户端,你可以使用JavaScript的WebSocket API来连接服务器:
const socket = new WebSocket('wss://example.com/ws');
socket.onopen = function() {
console.log('Connected');
socket.send('Hello Server!');
};
socket.onmessage = function(event) {
console.log('Message from server ', event.data);
};
socket.onclose = function() {
console.log('Disconnected');
};wss://协议(WebSocket Secure)来加密数据传输,防止中间人攻击。没有搜到相关的文章