给我写一个连接Websocket的h5页面
时间: 2023-12-17 08:02:44 浏览: 70
好的,以下是一个连接 WebSocket 的 H5 页面示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>WebSocket Example</title>
</head>
<body>
<h1>WebSocket Example</h1>
<div id="messages"></div>
<form>
<input id="message-input" type="text" placeholder="Enter message">
<button id="send-button" type="submit">Send</button>
</form>
<script>
const messagesEl = document.getElementById('messages');
const messageInputEl = document.getElementById('message-input');
const sendButtonEl = document.getElementById('send-button');
// 创建 WebSocket 连接
const socket = new WebSocket('ws://localhost:8080');
// 监听连接打开事件
socket.addEventListener('open', (event) => {
console.log('WebSocket 连接已打开');
});
// 监听消息接收事件
socket.addEventListener('message', (event) => {
console.log('收到消息:', event.data);
messagesEl.innerHTML += '<p>' + event.data + '</p>';
});
// 监听连接关闭事件
socket.addEventListener('close', (event) => {
console.log('WebSocket 连接已关闭');
});
// 监听连接错误事件
socket.addEventListener('error', (event) => {
console.error('WebSocket 连接出错:', event);
});
// 监听表单提交事件
const sendMessage = (event) => {
event.preventDefault();
const message = messageInputEl.value;
socket.send(message);
messageInputEl.value = '';
};
sendButtonEl.addEventListener('click', sendMessage);
messageInputEl.addEventListener('keydown', (event) => {
if (event.key === 'Enter') {
sendMessage(event);
}
});
</script>
</body>
</html>
```
这个页面创建了一个 WebSocket 连接到本地的 8080 端口,并监听连接打开、接收消息、关闭、错误等事件。页面上还有一个表单用于发送消息。当用户在输入框中输入消息并点击发送按钮或按下回车键时,页面会将消息发送给服务器。服务器返回的消息将会被添加到页面上的消息列表中。
阅读全文