webSocket-demo

index.js // 这里是nodejs。启动服务器

let WebSocket = require('websocket').server // 引入websocket的服务
let http = require('http') // 创建http  因为websocket基于http协议握手

let httpServer = http.createServer().listen(8080, function () {
	console.log('http://127.0.0.1:8080') //
})

let wsServer = new WebSocket({
	httpServer,
	autoAcceptConnections: false, //
})

const connects = [] // 创建链接数组,后期作为连接池

wsServer.on('request', function (req) {
	let connect = req.accept()
	connects.push(connect)

	connect.on('message', function (msg) {
		console.log(msg)
		connects.forEach(item => {
			item.send(msg.utf8Data)
		})
		// connect.send(msg.utf8Data)
	})
})

这里是 index.html // 执行html文件

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>
	<body>
		<input type="text" />
		<button onclick="send()">按钮</button>
	</body>
	<script>
		let webSocket = new WebSocket('ws://127.0.0.1:8080') // new一个websocket对象

		webSocket.onopen = () => {
			// 开启websocket
			console.log(webSocket.readyState) // 打印出websocket的状态
		}

		function send(msg) {
			// button事件
			let val = document.querySelector('input').value
			webSocket.send(val) // websocket 向服务端发送信息
		}

		webSocket.onmessage = back => {
			// 监听返回的信息
			console.log(back) //  websocket打印出返回的信息
		}
	</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值