南京建设局网站首页什么是网络营销策划

pingmian/2026/1/24 14:59:51/文章来源:
南京建设局网站首页,什么是网络营销策划,wordpress游戏支付宝,da面板做两个网站场景#xff1a;后端更新数据推送到客户端(Java部分使用Tomcat服务器)。后端推送数据的解决方案有很多#xff0c;比如轮询、Comet、WebSocket。1. 轮询对于后端来说开发成本最低#xff0c;就是按照传统的方式处理Ajax请求并返回数据#xff0c;在学校的时候实验室的项目一…场景后端更新数据推送到客户端(Java部分使用Tomcat服务器)。后端推送数据的解决方案有很多比如轮询、Comet、WebSocket。1. 轮询对于后端来说开发成本最低就是按照传统的方式处理Ajax请求并返回数据在学校的时候实验室的项目一直都采用轮询因为它最保险也最容易实现。但轮询带来的通信资源的浪费是无法忽视的无论数据是否改变都照常发送请求并响应而且每次HTTP请求都带有很长的头部信息。2. Comet的概念是长连接客户端发送请求后后端将连接保持下来直到连接超时或后端返回数据时再重新建立连接有效的将通信资源转移到了服务器上实际消耗的是服务器资源。3. WebSocket是HTML5提供的一种全双工通信技术通过“握手”实现客户端与服务器之间的通信实时性好携带的头部也较小目前支持的浏览器如下理想的情况是采取WebSocket与Comet结合的方式对IE8等浏览器采取Comet方式做降级处理。但是这样一来后端需要实现两种处理请求的逻辑即WebSocket与Comet。所以本文加入Node.js之所以这样做是将处理WebSocket(或Comet)的逻辑转移到Node.js部分不给后端“添麻烦”因为在实际情况下前端开发人员推动后端开发人员并不容易。Node.js作为浏览器与Java业务逻辑层通信的中间层连接客户端与Tomcat通过Socket与Tomcat进行通信(是Socket不是WebSocket后端需要实现Socket接口。在客户端WebSocket与Comet通过Socket.io实现Socket.io会针对不同的浏览器版本或者不同客户端选择合适的实现方式(WebSocket, long pull..)Socket.io的引入让处理WebSocket(或长连接)变的很容易。Socket.io客户端引入socket.io客户端JavaScript代码var socket io.connect(127.0.0.1:8181);// 发送数据至服务器socket.emit(fromWebClient, jsonData);// 从服务器接收数据socket.on(pushToWebClient, function (data) {// do sth.});Node.js服务器代码var http require(http),app http.createServer().listen(8181),io require(socket.io).listen(app);io.sockets.on(connection, function (socketIO) {// 从客户端接收数据socketIO.on(fromWebClient, function (webClientData) {// do sth.});// 客户端断开连接socketIO.on(disconnect, function () {console.log(DISCONNECTED FROM CLIENT);});// 向客户端发送数据socketIO.emit(pushToWebClient, jsonData);});建立好客户端同Node.js服务器的连接只是第一步下面还需要建立Node.js服务器与Java业务逻辑层的联系。这时Node.js服务器则作为客户端向Tomcat发送TCP连接请求。连接成功后Node.js服务器和Tomcat建立了一条全双工的通道而且是唯一的一条不论有多少个客户端请求都从Node.js服务器转发至Tomcat同样Tomcat推送过来的数据也经由Node.js服务器分发至各个客户端。这里存在一个问题就是在WebSocket连接与Socket连接都建立好之后两次连接彼此之间是屏蔽的。Tomcat不知道是哪次WebSocket连接发送过来的数据也不知道是哪个客户端发来的数据。当然Node.js可以利用session id发送至Tomcat来标识是哪一个客户端但本文采用的是另外一种办法。客户端同Node.js建立WebSocket连接时每个连接都会包含一个实例这里称它为socketIO。每个socketIO都有一个id属性用来唯一标识这个连接这里称它为socket_id。利用socket_id在Node.js服务器建立一个映射表存储每一个socketIO与socket_id的映射关系。Node.js服务器发送数据给Tomcat时带上这个socket_id再由Java部分进行一系列处理以后封装好每个客户端需要的不同数据一并返回返回的数据里要有与socket_id的对应关系。这样Node.js服务器收到Tomcat发来的数据时通过前面提到的映射表由不同的socketIO分发至不同的客户端。Node.js服务器代码:var http require(http),net require(net),app http.createServer().listen(8181),io require(socket.io).listen(app),nodeServer new net.Socket();// 连接到TomcatnodeServer.connect(8007, 127.0.0.1, function() {console.log(CONNECTED);});// 存储客户端的WebSocket连接实例var aSocket {};// 同客户端建立连接io.sockets.on(connection, function (socketIO) {// 从客户端接收数据然后发送至TomcatsocketIO.on(fromWebClient, function (webClientData) {// 存储至映射表aSocket[socketIO.id] socketIO;// 发送至Tomcat的数据中添加socket_idwebClientData[sid] socketIO.id;// 发送String类型的数据至TomcatnodeServer.write(JSON.stringify(webClientData));});// 客户端断开连接socketIO.on(disconnect, function () {console.log(DISCONNECTED FROM CLIENT);});});// 从Tomcat接收数据nodeServer.on(data, function (data) {var jsonData JSON.parse(data.toString());// 分发数据至客户端for (var i in jsonData.list) {aSocket[jsonData.list[i][sid]].emit(pushToWebClient, jsonData.list[i].data);}});上面的代码省略了一些逻辑比如Node.js服务器从Tomcat接收的数据分为两种一种是推送过来的数据另外一种是响应请求的数据这里统一处理推送过来的数据。在处理通信时Node.js发送至Tomcat的数据是String格式而从Tomcat接收的数据为Buffer对象(8进制)需要转化为String之后再转化为json发送至客户端。本文只是给出一个这样两次连接的简单例子具体的业务中需要加入许多东西。既然在项目中引入了Node.js就需要前端承担更多的事情比如对数据的处理、缓存、甚至加入很多业务逻辑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黄页网站大全在线看免费榆林市横山县建设局官方网站

适用版本 Axure 8.1.0.3377 zdfans.com gP5uuK2gHiIVO3YFZwoKyxAdHpXRGNnZWN8Obntqv7FF3pAz7dTu8B61ySxli 转载于:https://www.cnblogs.com/mengjianzhou/p/11226260.html

常州做网站企业猎头公司怎么找

在使用AlarmManager实现闹钟需要注意的是,intent和pendingintend的context如果是activity,那么当activity回收之后,context对象则不能被AlarmManager用于发送广播打开service之类等等,即使是applicationContext也只是进程唯一&…

申请免费个人网站空间怎么做新网站上线通稿

使用Apache Kafka路由消息 本示例向您展示了如何使用LangChain的标准聊天功能,并通过Apache Kafka来回传递聊天消息。 目标是模拟一个架构,其中聊天前端和LLM作为需要通过内部网络相互通信的独立服务运行。 这是一种替代通过REST API请求模型响应的典…

在线a视频网站一级a做爰片织梦图片自适应网站源码

1. 题目 在给定的二维二进制数组 A 中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。) 现在,我们可以将 0 变为 1,以使两座岛连接起来,变成一座岛。 返回必须翻转的 0 的最小数目。(可…

.net手机网站源码下载做现货去哪些网站营销好呢

家政预约服务管理系统,轻松搭建专属家政小程序app; 家政服务app开发架构包括: 1. 后台管理端:全面管理家政服务、门店、员工、阿姨信息、订单及优惠促销等数据,并进行统计分析。 2. 门店端:助力各门店及员工…

网站左侧漂浮导航网站建设的卷子

旧版本 新版本 没有与操作系统一起打包的ISO文件了,要么先安装系统,再安装Centreon,要么用pve导入OVF文件

网站模板一样侵权吗设计师常用的设计论坛

文章目录 造成OOM的原因1.一次性申请的太多2. 内存资源耗尽未释放3.本身资源不够 如何快速定位OOM?1.系统已经OOM了2.系统运行中还未OOM2.1导出dump文件:2.2.结合jvisualvm进行调试2.3 利用ArthasArthas可以做什么?如何使用Arthas小结 造成OO…

国税网站页面申报撤销怎么做中国品牌装修公司排名

给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。 注意这里是找连续子串。 算法:动态规划。f[i][j]表示第一个字符串前i个字符中与第二个字符串前j个中的最长连续子串长度 那么状态转移为:当s1(i)s2(j)时&a…

中职电子商务网站建设与维护考试题网站建设与推广的区别

要理解GNU C和标准C的区别,我们需要先了解C语言的标准化过程以及GNU项目。 标准C: C语言最初由Dennis Ritchie在1973年设计并实现。随着其流行度的增加,为了保证不同编译器之间的可移植性和一致性,美国国家标准局(Ame…

哪家建设公司网站威县建设局网站

一、安装httpd服务器Apache网站服务 1、准备工作 为了避免发送端口冲突,程序冲突等现象,卸载使用rpm方式安装的httpd #使用命令检查是否下载了httpd [rootserver ~]# rpm -qa httpd #如果有则使用 [rootserver ~]# rpm -e httpd --nodeps Apache的配置…

网站群发推广软件接私活做网站要不要签合同

文章目录 一、完整代码二、过程实现2.1 导包2.2 数据准备2.3 字符分词2.4 构建数据集2.5 定义模型2.6 模型训练2.7 模型推理 三、整体总结 采用RNN和unicode分词进行文本生成 一、完整代码 作者在文章开头地址中使用C实现了这一过程,为了便于理解,这里我…

创手机网站哪里找专业做网站的公司

由于Bi<7&#xff0c;考虑状压。 如果考虑前i个位置的话&#xff0c;状态里需要压入前7个人后7个人&#xff0c;显然是跑不动的。 那么改成考虑前i个人。于是设f[i][j][k]表示前i个人都已吃完饭&#xff0c;i1后面7个人的吃饭状态为j&#xff0c;最后一个吃饭的人是k的答案。…

网站的宣传与推广个人工商户做网站要上税吗

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 【实验描述】本实验讲述在ArcGIS软件中进行日常影像(栅格)数据的拼接与提取(裁剪)的工具与方法。影像的拼接常用到的工具是Mosaic和Mosaic To New Raster;影像提取分为按属性提取、形状或位置提…

门户网站建设构架赣州人才网赣州九一人才

深度解析 Java 的包机制 深度解析 Java 的包机制摘要引言一、什么是包机制1.1 包的定义1.2 包的命名规范1.3 包的声明1.4 包的导入1.5 包的访问权限1.6 包的层次结构1.7 包的目录结构 二、包的命名冲突问题三、总结参考资料 博主 默语带您 Go to New World. ✍ 个人主页—— 默…

兰州网站建设价格crm在线观看

/*----------------------------------------------- 内容&#xff1a;切换到独立按键模式&#xff0c;通过按键在数码管显示对应的数字 ------------------------------------------------*/ #include<reg52.h> //包含头文件&#xff0c;一般情况不需要改动&#xff0…

增城建设局网站智冠宝企业网站管理系统

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

重庆做网站做得好的公司网站建设提案ppt

c#统计字符串中数字字符的个数 题目描述 假设有一个GetNumber方法&#xff08;参数为字符串strSource&#xff09;&#xff0c;编写一个静态方法可以用来统计字符串strSource中数字字符的个数。 输入 输入一个字符串strSource输出 strSource字符串中数字字符的个数样例输入 s…

设计网站推荐原因外贸网站推广技巧

题目描述&#xff1a;给你一个包含 n 个整数的数组 nums&#xff0c;判断 nums 中是否存在三个元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 请你找出所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 输入&#xff1a;nums …

芜湖建设工程质量监督站网站河南省建设厅职称网站

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 第八节对差异基因进行富集分析。…