写一个demo ,使用nodejs搭建一个服务,再写一个html,用JS的websocket和服务链接
时间: 2024-02-27 16:59:06 浏览: 122
好的,以下是一个简单的示例代码:
Node.js 服务端代码(app.js):
```javascript
const http = require('http');
const WebSocket = require('ws');
const server = http.createServer();
const wss = new WebSocket.Server({ server });
wss.on('connection', (ws) => {
console.log('Client connected');
ws.on('message', (message) => {
console.log(`Received message: ${message}`);
ws.send(`You said: ${message}`);
});
ws.on('close', () => {
console.log('Client disconnected');
});
});
server.listen(8080, () => {
console.log('Server started on port 8080');
});
```
这个代码创建了一个 HTTP 服务器和一个 WebSocket 服务器,并在客户端连接和收到消息时打印一些日志。
然后,我们可以创建一个简单的 HTML 文件来连接这个 WebSocket 服务器:
```html
<!DOCTYPE html>
<html>
<head>
<title>WebSocket Demo</title>
</head>
<body>
<input type="text" id="messageInput" placeholder="Enter message">
<button id="sendButton">Send</button>
<ul id="messages"></ul>
<script>
const socket = new WebSocket('ws://localhost:8080');
socket.addEventListener('open', (event) => {
console.log('Connected to server');
});
socket.addEventListener('message', (event) => {
console.log(`Received message: ${event.data}`);
const li = document.createElement('li');
li.innerText = event.data;
document.getElementById('messages').appendChild(li);
});
document.getElementById('sendButton').addEventListener('click', (event) => {
const message = document.getElementById('messageInput').value;
socket.send(message);
document.getElementById('messageInput').value = '';
});
</script>
</body>
</html>
```
这个 HTML 文件包含一个文本框和一个按钮,用于发送消息,以及一个用于显示收到的消息的列表。
当页面加载时,它会创建一个 WebSocket 对象并连接到我们刚刚创建的服务器。当连接建立时,它会打印一条消息到控制台。当它收到消息时,它会将消息添加到列表中。当用户点击发送按钮时,它会从文本框中获取消息并通过 WebSocket 发送它。
这就是一个简单的 WebSocket 示例。
阅读全文