最简单的WebSocket连接

本文介绍了HTML5WebSocket协议的基本原理,展示了如何在Node.js服务端创建WebSocket服务器并发送消息,以及前端如何使用WebSocket进行跨域连接,包括错误处理和重连机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

WebSocket protocol是HTML5一种新的协议。它实现了浏览器与服务器全双工通信,同时允许跨域通讯。
websocket跨域探讨:
https://www.imooc.com/article/21976
https://www.jianshu.com/p/9a8d793ec52a

直接上代码

服务端:在代码工程中找个地方新建文件serve.js

var WebSocketServer = require('ws').Server,
	server = new WebSocketServer({
	    port: 3000
	}); //服务端口3000
server.on('connection', function (ws) {
    console.log('服务端:客户端已连接');
    // 发送信息给前端
    ws.send('111111');
    ws.on('message', function (message) {
        //打印客户端监听的消息
        console.log(message);
    });
});

在serve.js的父文件夹下运行:node serve.js

前端(支持跨域,可在不同代码工程中连接):

initEventHandle() {
    // http:ws,https:wss
    this.ws = new WebSocket('ws://localhost:3000')
    this.ws.onopen = () => {
        console.log('websocket连接------------------------');
    }
    this.ws.onmessage = evt => {
        console.log('websocket接收信息------------------------', evt);
        const data = JSON.parse(evt.data)
    }
    this.ws.onerror = () => {
        // this.ws.onclose()
        // 60秒后重连
        this.timer = setTimeout(() => {
            console.log('websocket重连------------------------');
            this.initEventHandle()
        }, 60*1000)
    }
    this.ws.onclose = () => {
        console.log('websocket断开------------------------');
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值