以下是一个简单的Websocket示例,它使用JavaScript和Node.js实现:

  1. 客户端代码

创建一个HTML文件,包含以下代码:

<!DOCTYPE html>
<html>
<head>
	<title>Websocket Example</title>
</head>
<body>
	<label for="message">Message:</label>
	<input type="text" id="message">
	<button onclick="sendMessage()">Send</button>
	<div id="output"></div>

	<script>
		// 创建Websocket连接
		const socket = new WebSocket('ws://localhost:3000');

		// 监听连接打开事件
		socket.addEventListener('open', (event) => {
			console.log('Websocket connection opened');
		});

		// 监听消息接收事件
		socket.addEventListener('message', (event) => {
			console.log('Message received:', event.data);
			// 将消息显示在页面上
			const output = document.getElementById('output');
			output.innerHTML += '<p>' + event.data + '</p>';
		});

		// 发送消息
		function sendMessage() {
			const message = document.getElementById('message').value;
			socket.send(message);
			console.log('Message sent:', message);
		}
	</script>
</body>
</html>

此代码创建了一个Websocket连接,并监听连接打开和消息接收事件。它还提供了一个文本框和一个按钮,用于向服务器发送消息,并将消息显示在页面上。

  1. 服务器代码

创建一个Node.js文件,包含以下代码:

const WebSocket = require('ws');

// 创建服务器
const server = new WebSocket.Server({ port: 3000 });

// 监听连接打开事件
server.on('connection', (socket) => {
	console.log('Websocket connection opened');

	// 监听消息接收事件
	socket.on('message', (message) => {
		console.log('Message received:', message);
		// 发送消息给所有连接的客户端
		server.clients.forEach((client) => {
			if (client.readyState === WebSocket.OPEN) {
				client.send(message);
			}
		});
	});

	// 监听连接关闭事件
	socket.on('close', () => {
		console.log('Websocket connection closed');
	});
});

此代码创建了一个Websocket服务器,并监听连接打开、消息接收和连接关闭事件。它还在收到消息时向所有连接的客户端发送相同的消息。

  1. 运行代码

将客户端和服务器代码保存为不同的文件,并在终端中分别运行它们:

node server.js
打开客户端HTML文件

现在,打开客户端HTML文件并开始发送消息。您应该能够在控制台中看到服务器和客户端之间的消息传递,并在页面上看到收到的消息

Websocket示例

原文地址: https://www.cveoy.top/t/topic/cPaj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录