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

北京在线建站模板中国建设部网站监理延续

北京在线建站模板,中国建设部网站监理延续,电子商务网站有哪些?,网商网与Ajax不同#xff0c;WebSocket可以使服务端主动向客户发送响应#xff0c;本案例就是基于WebSocket的一个在线聊天室#xff0c;不过功能比较简单#xff0c;只能满足文字交流。演示如下。 案例学习于b站up主#xff0c;链接 。这位up主讲的非常清楚#xff0c;值得去学…与Ajax不同WebSocket可以使服务端主动向客户发送响应本案例就是基于WebSocket的一个在线聊天室不过功能比较简单只能满足文字交流。演示如下。 案例学习于b站up主链接 。这位up主讲的非常清楚值得去学习。本文属于记录自我学习过程的文章。 项目目录下app.js //导入nodejs-websocket包 const { connect } require(net) const ws require(nodejs-websocket) const PORT 3000//创建一个server const server ws.createServer(connect {console.log(有用户连接上来了) })server.listen(PORT,() {console.log(websocket服务启动成功了监听了端口PORT) }) 项目目录下打开终端  npm install nodejs-websocket 下载成功后。 项目目录下index.html 去掉css。  app.js  //导入nodejs-websocket包 const { connect } require(net) const ws require(nodejs-websocket) const PORT 3000//连接的数量 let count 0 //创建一个server const server ws.createServer(connect {console.log(新的连接)countconnect.userName 用户${count}broadcast(${connect.userName}进入了聊天室)//接收connect.on(text,data {broadcast(data)})//关闭connect.on(close,data {console.log(关闭连接)count--broadcast(${connect.userName}离开了聊天室)})//异常connect.on(error,data {console.log(发生异常)}) })//广播 function broadcast(msg) {server.connections.forEach(item {item.send(msg)}) }server.listen(PORT,() {console.log(websocket服务启动成功了监听了端口PORT) }) index.html !DOCTYPE html htmlheadmeta charsetutf-8title/titlestyle/style/headbodydiv/divinput typetext placeholder请输入你的内容/button发送/buttonscriptvar input document.querySelector(input)var button document.querySelector(button)var div document.querySelector(div)//websocket的服务地址var socket new WebSocket(ws://localhost:3000)//连接成功时socket.addEventListener(open,function() {div.innerHTML 连接服务成功了})//主动向服务器发消息button.addEventListener(click,function() {var value input.valuesocket.send(value)})//接受数据socket.addEventListener(message,function(e) {console.log(e.data)var dv document.createElement(div)dv.innerText e.datadiv.appendChild(dv)})//断开连接socket.addEventListener(close,function(e) {div.innerHTML 服务断开连接})/script/body /html 浏览框1 浏览框2 稍微美化页面增强一下逻辑。在浏览器内打开三个窗口既有3个人参与到聊天室中现在可以聊天了。 用户1 用户2  用户3 主要代码 请先安装node.js并已下载websocket的环境。 项目目录 app.js //导入nodejs-websocket包 const { connect } require(net) const ws require(nodejs-websocket) const PORT 3000 const TYPE_ENTER 0 const TYPE_LEAVE 1 const TYPE_MSG 2//连接的数量 let count 0 //创建一个server const server ws.createServer(connect {console.log(新的连接)countconnect.userName 用户${count}broadcast({type: TYPE_ENTER,msg: ${connect.userName}进入了聊天室,time: new Date().toLocaleString(chinese,{hour12:false}).slice(2).replace(/-/g,/)})//接收connect.on(text,data {broadcast({type: TYPE_MSG,msg: connect.userName : data,time: new Date().toLocaleString(chinese,{hour12:false}).slice(2).replace(/-/g,/)})})//关闭connect.on(close,data {console.log(关闭连接)count--broadcast({type: TYPE_LEAVE,msg: ${connect.userName}离开了聊天室,time: new Date().toLocaleString(chinese,{hour12:false}).slice(2).replace(/-/g,/)})})//异常connect.on(error,data {console.log(发生异常)}) })//广播 function broadcast(msg) {server.connections.forEach(item {item.send(JSON.stringify(msg))}) }server.listen(PORT,() {console.log(websocket服务启动成功了监听了端口PORT) }) index.html !DOCTYPE html htmlheadmeta charsetutf-8title/titlestyle* {padding: 0;margin: 0;}body {background: #eff0fe;font-family: 宋体;}#box {padding: 20px;}input {width: 600px;height: 30px;border: none;outline: none;color: gray;}#chat {padding: 10px;background: white;width: 920px;box-sizing: border-box;height: 95vh;}#operation {position: fixed;top: 300px;right: 20px;}#title {font-size: 200px;position: fixed;top: 20px;right: 80px;color: gray;opacity: 0.3;font-family: 黑体;}button {height: 30px;width: 50px;text-align: center;line-height: 30px;border: none;color: gray;}button:hover {cursor: pointer;}.middle {width: 200px;margin: 0 auto;font-size: 3px;color: gray;margin-bottom: 5px;}.msg {width: 900px;word-break: break-all;}/style/headbodydiv idboxdiv idchat/divdiv idtitle聊天室/divdiv idoperationinput typetext placeholder请输入你的内容/button发送/button/div/divscriptconst TYPE_ENTER 0const TYPE_LEAVE 1const TYPE_MSG 2var input document.querySelector(input)var button document.querySelector(button)var div document.querySelector(#chat)console.log(input)//websocket的服务地址var socket new WebSocket(ws://localhost:3000)//连接成功时socket.addEventListener(open,function() {div.innerHTML 欢迎来到聊天室})//主动向服务器发消息button.addEventListener(click,function() {var value input.valuesocket.send(value)input.value })//接受数据socket.addEventListener(message,function(e) {console.log(e.data)var data JSON.parse(e.data)if(data.type TYPE_MSG) {var dv document.createElement(div)var time document.createElement(div)var msg document.createElement(div)time.className middlemsg.className msgtime.innerText data.timemsg.innerText data.msgdv.appendChild(time)dv.appendChild(msg)} else {var dv document.createElement(div)var msg document.createElement(div)var time document.createElement(div)msg.className middletime.className middlemsg.innerText data.msgtime.innerText data.timedv.appendChild(time)dv.appendChild(msg)}div.appendChild(dv)})//断开连接socket.addEventListener(close,function(e) {div.innerHTML 服务断开连接})/script/body /html
http://www.w-s-a.com/news/852855/

相关文章:

  • 网站设计登录界面怎么做网站突然排名没了
  • wordpress 人物页面seo优化公司信
  • 高端网站建设报价网站建设需要硬件设备
  • 做国际物流在哪些网站找客户营销qq怎么申请
  • 网站做推广百度好还是360好科技厅
  • 网站开发工具排名万户网络建一个网站虽要多少钱
  • 用凡科做的网站要钱吗WordPress城市切换
  • 制作一个门户网站需要多少钱营销型网站特征
  • 手机网站 多html中国建设银行网站包头分行
  • 哪个网站做免费广告好招牌图片效果图设计制作
  • 网站建设优化服务机构苏州市做网站
  • 网站如何优化流程企业网站管理系统视频教程
  • 我想克隆个网站 怎么做贵州住房和城乡建设厅官网
  • 网站建设项目前景上海今天新闻综合频道
  • 做网站推销的如何谈客户wordpress怎么做商城
  • 摄影素材库网站服装页面设计的网站
  • 如何用国外网站做头条做个游戏app的费用大概多少
  • 网站 形象入口页福州网站建设网络公司排名
  • 免费下载教学设计的网站送网站建设管理信息内容审核制度
  • 外贸专业网站的公司百度旗下13个app
  • 物理组简介 网站建设高师院校语言类课程体系改革与建设 教学成果奖申报网站
  • 爱网站无法登录怎么回事手表网
  • 网站建设公司现在还挣钱吗山西手动网站建设推荐平台
  • 重庆建设工程交易信息网站网站制作公司起名
  • 东莞寮步做网站的有吗企业宣传册制作
  • 做网站的软件是哪个上蔡做网站
  • 前后端分离实现网站开发紧急通知网页升级
  • 河北专业网站建设公司推荐佛山小程序开发平台
  • 网站开发强制开启浏览器极速模式建设网站有什么风险
  • 360全景网站建设常州专业网站建设公司咨询