关于webSocket实现一个demo级即时通讯

概述

什么是webSocket?

ai的回答是(总结):WebSocket 是一种网络通信协议,用于在客户端(如浏览器)和服务器之间建立双向、持久、实时的通信通道。它与传统的 HTTP 协议有显著区别,更适合需要实时交互的应用场景。

客户端是怎么连接到webSocket服务的?

客户端通过 HTTP 发送升级请求(Upgrade 头),协商切换到 WebSocket 协议。ws://(非加密)或 wss://(加密,类似 HTTPS)来标志当前是需要连接webSocket。

客户端

客户端使用 内置的 webSocket 对象去创建连接,demo:

 (function(){
    const socket = new WebSocket("ws://localhost:8000")

    socket.onopen = function(){
        console.log("连接成功")
    }

    socket.onmessage = function(e){
        console.log(e.data)
    }

    socket.onclose = function(){
        console.log("连接关闭")
    }

    socket.onerror = function(){
        console.log("连接错误")
    }
    window.ws = socket;
})()

服务端

const socket = new WebSocketServer({ port: 8000 });

socket.on("connection", ws => {
	ws.on("message", data => {
		console.log("received ", data);
		socket.clients.forEach(client => {
			if (client !== ws && client.readyState === WebSocket.OPEN) {  // 群聊
				client.send(data, { binary: false });
			}
		});
	});

	ws.send("hello");
});

评论

  1. fool
    3 周前
    2025-10-15 11:50:39

    1111

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇