socket.io 学习

index.js  


const { createServer } = require('http') //
const { Server } = require('socket.io')

const httpServer = createServer() // 创建http对象
const io = new Server(httpServer, {
	// 创建io对象,底层已经封装好了
	/* options */
	cors: {
		origin: '*', // 解决跨域问题
	},
})

io.on('connection', socket => {
	// io监听
	// ...
	socket.on('sendMsg', msg => {
		// 监控自定义事件,和 js中的 socket.emit('sendMsg', Function)  对应
		console.log(msg)
		io.emit('back', msg) // 创建自定义事件,和 js中的 socket.on('back', Function)  对应
	})
})

httpServer.listen(3000, () => {
	console.log('http://127.0.0.1:3000')
})

index.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>
		<script
			src="https://cdn.socket.io/4.5.0/socket.io.min.js"
			integrity="sha384-7EyYLQZgWBi67fBtVxw60/OWl1kjsfrPFcaU0pp0nAh+i8FD068QogUvg85Ewy1k"
			crossorigin="anonymous"
		></script>
		<!-- 引入CDN-->
	</head>
	<body>
		<input type="text" />
		<button onclick="send()">发送</button>
	</body>
	<script>
		let socket = io.connect('http://127.0.0.1:3000') // 地址和websocket创建的地址一样

		function send() {
			let text = document.querySelector('input').value
			socket.emit('sendMsg', text) // 创建自定义事件 和 nodejs中的 socket.on('sendMsg',Function) 对应
			socket.on('back', data => {
				// 监控自定义事件 和 nodejs中的 io.on('back',Function)
				console.log(data)
			})
		}
	</script>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值