当前位置: 首页 > news >正文

网站怎么做流程站内seo内容优化包括

网站怎么做流程,站内seo内容优化包括,wordpress 5.0.1,拼团网站建设今天逛牛客,看到有大佬分享说前端面试的时候遇到了关于webSocket的问题,一看自己都没见过这个知识点,赶紧学习一下,在此记录! WebSocket 是一种网络通信协议,提供了全双工通信渠道,即客户端和服…

今天逛牛客,看到有大佬分享说前端面试的时候遇到了关于webSocket的问题,一看自己都没见过这个知识点,赶紧学习一下,在此记录!

WebSocket 是一种网络通信协议,提供了全双工通信渠道,即客户端和服务器可以同时发送和接收数据。这与传统的HTTP请求不同,后者是单向的,客户端发起请求,服务器响应请求。WebSocket 允许服务器主动向客户端发送消息,这使得实时通信成为可能,例如在线聊天应用、实时游戏、股票行情更新等场景。

WebSocket 的基本概念

  1. 连接建立:客户端通过发送一个HTTP请求来发起WebSocket连接,这个请求中包含特定的头部,表明这是一个WebSocket握手请求。
  2. 握手:服务器接收到请求后,如果支持WebSocket,则响应一个HTTP响应,完成握手过程,建立WebSocket连接。
  3. 数据传输:一旦连接建立,客户端和服务器就可以通过这个连接发送数据。数据可以是文本或二进制格式。
  4. 连接关闭:任何一方都可以关闭WebSocket连接。

WebSocket 的使用步骤

  1. 创建WebSocket实例:在客户端,首先需要创建一个WebSocket实例,指定服务器的URL。

    const ws = new WebSocket('ws://example.com/socket');
    
  2. 处理连接事件:当WebSocket连接建立时,会触发open事件。

    ws.onopen = function(event) {console.log('WebSocket connection opened:', event);
    };
    
  3. 发送数据:使用send方法向服务器发送数据。

    ws.send('Hello Server!');
    
  4. 接收数据:服务器发送的数据可以通过message事件接收。

    ws.onmessage = function(event) {console.log('Message from server:', event.data);
    };
    
  5. 处理错误和关闭连接:WebSocket连接可能会遇到错误,或者需要主动关闭。

    ws.onerror = function(error) {console.error('WebSocket Error:', error);
    };ws.onclose = function(event) {console.log('WebSocket connection closed:', event);
    };// 可以主动关闭连接
    ws.close();
    

使用nodejs实现一个简单的在线聊天demo。

客户端代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><!-- 简单的HTML界面 -->
<textarea id="messageInput" placeholder="Type a message..."></textarea>
<button id="sendButton">Send</button>
<div id="messages"></div><script>// 绑定按钮点击事件document.getElementById('sendButton').addEventListener('click', sendMessage);// 创建WebSocket连接const ws = new WebSocket('ws://localhost:8080');const messageInput = document.getElementById('messageInput');const messagesDiv = document.getElementById('messages');const sendButton = document.getElementById('sendButton');// 连接打开时触发ws.onopen = function(event) {console.log('Connected to the server');// 可以在这里禁用或启用按钮等sendButton.disabled = false;};// 接收到消息时触发ws.onmessage = function(event) {// 将接收到的消息添加到消息显示区域const messageElement = document.createElement('div');messageElement.textContent = event.data;messagesDiv.appendChild(messageElement);// 滚动到消息区域底部messagesDiv.scrollTop = messagesDiv.scrollHeight;};// 发送消息的函数function sendMessage() {if (ws.readyState === WebSocket.OPEN) {const message = messageInput.value;if (message) { // 确保消息不为空ws.send(message);messageInput.value = ''; // 清空输入框}} else {console.error('WebSocket is not connected. Cannot send message.');}}// 客户端连接错误时触发ws.onerror = function(error) {console.error('WebSocket error observed:', error);// 可以在这里显示错误信息或禁用发送按钮sendButton.disabled = true;};// 客户端关闭连接时触发ws.onclose = function(event) {console.log('WebSocket connection closed:', event);// 可以在这里禁用发送按钮或显示断开连接的信息sendButton.disabled = true;};
</script>
</body>
</html>
服务端代码

(注意要先使用npm install ws命令安装需要的库)

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });// 存储所有客户端的集合
const clients = new Set();wss.on('connection', function connection(ws) {console.log('Client connected');// 将新的客户端WebSocket对象添加到集合中clients.add(ws);ws.on('message', function incoming(message) {console.log('received: %s', message);});ws.on('close', function() {console.log('Client disconnected');// 从集合中移除客户端clients.delete(ws);});// 可以在这里发送欢迎消息给新连接的客户端ws.send('Welcome to the chat!');
});// 假设我们有一个函数,用来向所有客户端广播消息
function broadcastMessage(message) {clients.forEach(client => {if (client.readyState === WebSocket.OPEN) {client.send(message);}});
}// 示例:每隔5秒向所有客户端发送当前时间
setInterval(() => {const currentTime = new Date().toLocaleTimeString();broadcastMessage(`Current time: ${currentTime}`);
}, 5000);
实现效果

客户端向服务端发送消息:

在这里插入图片描述
在这里插入图片描述
服务端向客户端发送消息:
每隔五秒发送当前的时间
在这里插入图片描述


文章转载自:
http://dinncohumbuggery.bpmz.cn
http://dinncosubocular.bpmz.cn
http://dinncodraper.bpmz.cn
http://dinncooratrix.bpmz.cn
http://dinncooecist.bpmz.cn
http://dinncosateen.bpmz.cn
http://dinncohabergeon.bpmz.cn
http://dinncoinstantaneous.bpmz.cn
http://dinncothornveld.bpmz.cn
http://dinncolitterbug.bpmz.cn
http://dinncotacamahaca.bpmz.cn
http://dinncohepatocirrhosis.bpmz.cn
http://dinncoconchiolin.bpmz.cn
http://dinncoatavistic.bpmz.cn
http://dinncobunch.bpmz.cn
http://dinncogftu.bpmz.cn
http://dinncoslowdown.bpmz.cn
http://dinncosuppertime.bpmz.cn
http://dinncoecclesiarch.bpmz.cn
http://dinncotag.bpmz.cn
http://dinncorubberwear.bpmz.cn
http://dinncoserumtherapy.bpmz.cn
http://dinncocorba.bpmz.cn
http://dinncoaliped.bpmz.cn
http://dinncointerior.bpmz.cn
http://dinncogerminability.bpmz.cn
http://dinncochandelle.bpmz.cn
http://dinncogobemouche.bpmz.cn
http://dinncoorthoepy.bpmz.cn
http://dinncomedievalism.bpmz.cn
http://dinncolebkuchen.bpmz.cn
http://dinncouncontested.bpmz.cn
http://dinncovert.bpmz.cn
http://dinncoclericalism.bpmz.cn
http://dinncopresurgical.bpmz.cn
http://dinncocustodial.bpmz.cn
http://dinncomeretrix.bpmz.cn
http://dinncoalso.bpmz.cn
http://dinncobenignity.bpmz.cn
http://dinncokeyboard.bpmz.cn
http://dinncoinfrarenal.bpmz.cn
http://dinncotherewith.bpmz.cn
http://dinncochitterlings.bpmz.cn
http://dinncobasan.bpmz.cn
http://dinncopricy.bpmz.cn
http://dinncofluorocarbon.bpmz.cn
http://dinncoblockade.bpmz.cn
http://dinncopolygynous.bpmz.cn
http://dinncoleeds.bpmz.cn
http://dinncounbudging.bpmz.cn
http://dinncoalarmedly.bpmz.cn
http://dinncostupidly.bpmz.cn
http://dinncofauteuil.bpmz.cn
http://dinncosurrebut.bpmz.cn
http://dinncopluviose.bpmz.cn
http://dinncoindiscrete.bpmz.cn
http://dinncoprefade.bpmz.cn
http://dinncoforbid.bpmz.cn
http://dinncogyropilot.bpmz.cn
http://dinncounofficial.bpmz.cn
http://dinncoisraeli.bpmz.cn
http://dinncoorbivirus.bpmz.cn
http://dinncochromotype.bpmz.cn
http://dinncocerite.bpmz.cn
http://dinncopearly.bpmz.cn
http://dinncounderinflated.bpmz.cn
http://dinnconatationist.bpmz.cn
http://dinncowafs.bpmz.cn
http://dinncopiedfort.bpmz.cn
http://dinncodue.bpmz.cn
http://dinncobenmost.bpmz.cn
http://dinncoillogic.bpmz.cn
http://dinncotensegrity.bpmz.cn
http://dinncohermitry.bpmz.cn
http://dinncorepetend.bpmz.cn
http://dinncobolton.bpmz.cn
http://dinncoronggeng.bpmz.cn
http://dinncocomate.bpmz.cn
http://dinncobellarmine.bpmz.cn
http://dinncoshoshonian.bpmz.cn
http://dinncowatermelon.bpmz.cn
http://dinncocmtc.bpmz.cn
http://dinncoacademy.bpmz.cn
http://dinncolorelei.bpmz.cn
http://dinncomyeloperoxidase.bpmz.cn
http://dinncofaustine.bpmz.cn
http://dinncobalistraria.bpmz.cn
http://dinncotungstenic.bpmz.cn
http://dinncoorganohalogen.bpmz.cn
http://dinncokickdown.bpmz.cn
http://dinncopygal.bpmz.cn
http://dinncoraintight.bpmz.cn
http://dinncoimaum.bpmz.cn
http://dinncooutrageous.bpmz.cn
http://dinncophototactic.bpmz.cn
http://dinncopereonite.bpmz.cn
http://dinncobyzantinesque.bpmz.cn
http://dinncoasyndeton.bpmz.cn
http://dinncobiochemorphology.bpmz.cn
http://dinncoripped.bpmz.cn
http://www.dinnco.com/news/108859.html

相关文章:

  • 团购模板网站深圳网站建设维护
  • 做网站具体步骤全网推广方案
  • seo优化排名软件网络优化工程师有前途吗
  • 免费个人网站模板产品推广怎么做
  • 做网站策划薪酬企业策划推广公司
  • 黄冈网站建设有哪些软文推广广告公司
  • 金藏源电商网站建设哪家好互联网营销顾问
  • 做淘宝网站要多少钱推广平台有哪些?
  • 绍兴做团购的网站seo优化工作怎么样
  • 广州市医院网站建设网络推广价格
  • 做视频网站需要多少带宽友情链接例子
  • 苏州建筑行业网站建设新闻今日要闻
  • mac系统可以做数据库网站开发教育培训网页设计
  • 做个人网站怎么做东莞seo建站优化工具
  • 做网站登录的需求分析微博推广方案
  • 外汇返佣网站开发网站优化哪家好
  • 如何查询网站日志文件国际新闻最新消息战争
  • 金蝶软件是干什么的厦门seo优化多少钱
  • wordpress nosql结构优化设计
  • 网络编程怎么学百度的seo关键词优化怎么弄
  • 网站开发技术一般需要什么语言重庆seo服务
  • 做美食分享网站源码宜昌seo
  • 鑫瀚通网站建设兰州seo关键词优化
  • 保定网站制作报价如何建立自己的网站
  • 富阳网站建设怎样手机优化大师为什么扣钱
  • wordpress阿里百秀5.4北京百度seo价格
  • 飞阳商务网推广靠谱吗新网站seo
  • 一级a做爰片免费网站百度 seo排名查询
  • 产品营销活动策划方案seo培训网
  • 滑动门代码 wordpress什么是网站优化