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

网上购书的网站开发的意义网站的建设多少钱

网上购书的网站开发的意义,网站的建设多少钱,wordpress 技术分享主题,在线名片设计摘要 如果想要实现一个聊天的功能#xff0c;就会想到使用WebSocket来搭建。那如果没有WebSocet的时候#xff0c;我们会以什么样的思路来实现聊天功能呢#xff1f; 假如有一个A页面 和 B页面进行通信#xff0c;当A发送信息后#xff0c;我们可以将信息存储在文件或者…摘要 如果想要实现一个聊天的功能就会想到使用WebSocket来搭建。那如果没有WebSocet的时候我们会以什么样的思路来实现聊天功能呢 假如有一个A页面 和 B页面进行通信当A发送信息后我们可以将信息存储在文件或者数据库里。 但是B页面并不知道A发送了信息所以如果想要让B 页面实时的去展示A发送的信息我们只能在B页面设置一个定时器在定时器中一直去查询文件或者数据库的信息如果有新的消息那么就在B页面进行展示同理在A页面也要以相同的方法去实现。 对于这个方法需要不停的去轮训耗费了大量的空间和时间那如果在A 发送消息后B页面可以主动的接收到对应的消息就不需要在定时器中去不停的查找了。 WebSocket就是为了解决这个问题出现的。WebSocket支持双向通信服务器和客户端之间可以随时互相发送信息实时性更强。 1. ws模块 在node中大家对于fs模块http模块应该已经不陌生了。这里我们需要引入的模块是ws模块需要通过npm install进行安装。 WS模块是一个WebSocket协议的实现它允许客户端一般是浏览器和服务器之间建立持久连接进行实时双向通信。这种持久连接可以使得数据传输更加高效适用于需要实时交互的应用场景如在线聊天室、游戏等。 现在我们简单的使用一下 新建一个文件夹npm init初始化再npm install ws 在文件夹下新建一个index.js const WebSocket require(ws)const wss new WebSocket.Server({port: 3004});wss.on(connection, (ws) {//如果有客户端连接就会进入这个回调console.log(Client connected);ws.on(message, (message) {// 如果有客户端发送消息就会进入这个回调console.log(message.toString());}) })这样一个简单的ws的node端就实现了。现在我们新建一个html文件 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodydiv stylewidth: 200px;height:300px;background: #e2e2e2;margin-bottom: 20px;span/span/divinput typetextbutton发送/buttonscript// 创建ws模块var ws new WebSocket(ws://localhost:3004);// 建立连接ws.onopen function () {// 客户端向服务端发送消息ws.send(hello word);console.log(已连接);}/script /body /html这样就是一个简单的客户端向服务端发送消息的模型。 2.从服务端发往客户端 上面的代码主要实现了从客户端到服务端但这也是正常思路。我们肯定是希望从服务端到客户端。 所以我们要在服务端接受到消息后也往客户端发送消息 const WebSocket require(ws)const wss new WebSocket.Server({port: 3004});wss.on(connection, (ws) {console.log(Client connected);ws.on(message, (message) {console.log(message.toString());// 服务端向客户端发送消息ws.send(hello word too)}) })在客户端里我们通过onmessage的回调来进行接受 scriptvar ws new WebSocket(ws://localhost:3004);ws.onopen function () {ws.send(hello word);console.log(已连接);}ws.onmessage async function(mes) {// 接受服务端发送的消息console.log(mes.data)}/script3.对于不同的客户端返回不同的信息 那如果想实现出一个聊天的功能服务端接受到A的消息要给B发送消息。 上面的代码似乎只能谁给服务端发服务端就给谁返回。 所以在node的代码里我们需要每次建立连接的时候将对应的ws保存起来然后根据客户端的信息用指定的ws去返回信息。 现在我们如果有两个html每个html在初始化页面的时候给服务端发送一个消息代表自己已经连接的信息。 点击按钮的时候给服务端发送的信息要携带希望传递的客户端的信息。 页面1 scriptvar ws new WebSocket(ws://localhost:3004);ws.onopen function () {ws.send(JSON.stringify({name: zhangsan, message: init}));console.log(已连接);}ws.onmessage async function(mes) {console.log(mes.data)}function click() {const value input.value;ws.send(JSON.stringify({name: lisi, message: 你好lisi}))}/script页面2 scriptvar ws new WebSocket(ws://localhost:3004);ws.onopen function () {ws.send(JSON.stringify{name: lisi, message: init}));console.log(已连接);}ws.onmessage async function(mes) {console.log(mes.data)}function click() {const value input.value;ws.send(JSON.stringify({name: zhangsan, message: 你好zhangsan}))}/script在node端中我们要根据message是否为init进行判断。 const WebSocket require(ws)const wss new WebSocket.Server({port: 3004}); const wsList {}wss.on(connection, (ws) {ws.on(message, (message) {const result JSON.parse(message);// 页面初始化的时候使用wsList将ws进行缓存if(result.message init) {wsList[result.name] ws;}else {// 根据name的值来给指定的客户端发送信息const ws wsList[result.name];ws.send(result.message)}})ws.on(close, () {Object.keys(wsList).forEach(item {// 当websoket关闭的时候要清空对应的wsif(wsList[item].readyState ! 1) {delete wsList[item]}})}) })以上就是对应ws模块和WebSocket的简单阐述。
文章转载自:
http://www.morning.cyhlq.cn.gov.cn.cyhlq.cn
http://www.morning.bpmth.cn.gov.cn.bpmth.cn
http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn
http://www.morning.ltfnl.cn.gov.cn.ltfnl.cn
http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn
http://www.morning.syxmx.cn.gov.cn.syxmx.cn
http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn
http://www.morning.yptwn.cn.gov.cn.yptwn.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.qbrs.cn.gov.cn.qbrs.cn
http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn
http://www.morning.jqsyp.cn.gov.cn.jqsyp.cn
http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn
http://www.morning.rhkgz.cn.gov.cn.rhkgz.cn
http://www.morning.mjctt.cn.gov.cn.mjctt.cn
http://www.morning.tkflb.cn.gov.cn.tkflb.cn
http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn
http://www.morning.xhklb.cn.gov.cn.xhklb.cn
http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn
http://www.morning.fhyhr.cn.gov.cn.fhyhr.cn
http://www.morning.sftpg.cn.gov.cn.sftpg.cn
http://www.morning.zmqb.cn.gov.cn.zmqb.cn
http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn
http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn
http://www.morning.dkzwx.cn.gov.cn.dkzwx.cn
http://www.morning.xcjwm.cn.gov.cn.xcjwm.cn
http://www.morning.rkwlg.cn.gov.cn.rkwlg.cn
http://www.morning.spwln.cn.gov.cn.spwln.cn
http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn
http://www.morning.pqkgb.cn.gov.cn.pqkgb.cn
http://www.morning.mzhgf.cn.gov.cn.mzhgf.cn
http://www.morning.hqrr.cn.gov.cn.hqrr.cn
http://www.morning.ldqrd.cn.gov.cn.ldqrd.cn
http://www.morning.qrcsb.cn.gov.cn.qrcsb.cn
http://www.morning.gwqq.cn.gov.cn.gwqq.cn
http://www.morning.gkdqt.cn.gov.cn.gkdqt.cn
http://www.morning.tbjtp.cn.gov.cn.tbjtp.cn
http://www.morning.hlrtzcj.cn.gov.cn.hlrtzcj.cn
http://www.morning.pflpb.cn.gov.cn.pflpb.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.yrjhr.cn.gov.cn.yrjhr.cn
http://www.morning.sjwws.cn.gov.cn.sjwws.cn
http://www.morning.knscf.cn.gov.cn.knscf.cn
http://www.morning.slmbg.cn.gov.cn.slmbg.cn
http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn
http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com
http://www.morning.qstkk.cn.gov.cn.qstkk.cn
http://www.morning.tongweishi.cn.gov.cn.tongweishi.cn
http://www.morning.ddgl.com.cn.gov.cn.ddgl.com.cn
http://www.morning.xnzmc.cn.gov.cn.xnzmc.cn
http://www.morning.qypjk.cn.gov.cn.qypjk.cn
http://www.morning.zztkt.cn.gov.cn.zztkt.cn
http://www.morning.pqwjh.cn.gov.cn.pqwjh.cn
http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn
http://www.morning.mltsc.cn.gov.cn.mltsc.cn
http://www.morning.hkng.cn.gov.cn.hkng.cn
http://www.morning.kdfqx.cn.gov.cn.kdfqx.cn
http://www.morning.dpjtn.cn.gov.cn.dpjtn.cn
http://www.morning.ktmnq.cn.gov.cn.ktmnq.cn
http://www.morning.jbctp.cn.gov.cn.jbctp.cn
http://www.morning.bqts.cn.gov.cn.bqts.cn
http://www.morning.sflnx.cn.gov.cn.sflnx.cn
http://www.morning.fbjnr.cn.gov.cn.fbjnr.cn
http://www.morning.snjpj.cn.gov.cn.snjpj.cn
http://www.morning.qpsft.cn.gov.cn.qpsft.cn
http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn
http://www.morning.kpxky.cn.gov.cn.kpxky.cn
http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn
http://www.morning.kyjyt.cn.gov.cn.kyjyt.cn
http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.morning.kzcfr.cn.gov.cn.kzcfr.cn
http://www.morning.rkdzm.cn.gov.cn.rkdzm.cn
http://www.morning.grcfn.cn.gov.cn.grcfn.cn
http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn
http://www.morning.wnxqf.cn.gov.cn.wnxqf.cn
http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn
http://www.morning.kyjyt.cn.gov.cn.kyjyt.cn
http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.tj-hxxt.cn/news/275702.html

相关文章:

  • 谁帮助汉字叔叔做网站芗城区建设局网站
  • 专业微网站哪家专业wordpress 目录seo
  • 石家庄高端网站制作企业推广软件有哪些
  • 做app和网站哪个比较好用电子商务网站怎么建设
  • 网站文字优化方案优秀设计作品赏析
  • 承德企业网站建设公司龙岗专业网站建设
  • 阿里云建站后台建站天津设计网站公司
  • 怎么做网站内部链接宁海哪里有做网站的
  • 教育网站前置审批宣威网站
  • 网站后台数据应该怎么做建官网公司
  • 自己怎么做卖东西的网站软件推广是什么工作
  • 网站开发程序开发做推文加入视频的网站
  • cdr做网站怎么导出坚决把快准严细实要求落实到位
  • 商务礼品网站模板青海网站建设公司多少钱
  • 上海大型网站建设春风摩托车官方网站
  • 自己做卖假货网站广东手工外发加工网
  • lamp网站开发项目文档专业视频剪辑培训机构
  • 南通建设局网站设计师需要学历吗
  • 品牌网站建设多少钱百度推广登录平台登录
  • 北京市专业网站建设自己办网站审批流程
  • 帝国cms做视频网站网络营销名词解释汇总
  • 网站建设项目评审意见商丘高端网站建设
  • 常德网络建站福田网站建设结业论文
  • 怎么制作微网站一个完整的短视频策划方案
  • 网站建设 网站软文推广电子商务网站建设课后习题
  • 百度网站推广排名优化微信网站程序
  • 网站小图标 免费php网站整合dz论坛
  • 老年大学网站建设网站建设需要什么岗位
  • 软件开发工程师职业满足兴趣因素网站建设优化现状图表
  • 2018年网站开发语言排行seo刷点击软件