来源:http://t.cn/RBzkRYO 前言 一、文本对话--从请求到响应 二、TCP/IP 协议族介绍 三、基于TCP/IP通信过程 四、TCP建立连接及断开(重点补充) 小结 前言 互联网的原始目的...那我们使用浏览器发送请求后页面是如何呈现在我们面前的呢? 接下来由图片介绍下URL到呈现页面的过程。 一、文本对话--从请求到响应 ?...这个文本对话的过程是建立在怎样的规则上面呢?简单说,这个通信的过程是基于TCP/IP通信协议族规范上实现的,完成从客户端到服务器端等一系列信息交换的流程。...三、基于TCP/IP通信过程 一张图来说明请求到网页呈现的通信过程( 下图基于IP 协议、TCP 协议 、DNS 服务和HTTP 协议的通信过程),并对每一步做说明: ?...3、HTTP协议生成请求报文 HTTP协议:HyperText Transfer Protocol超文本传输协议位于应用层,决定从客户端到服务器端等一系列通信内容及方式,这通过生成报文并发送完成通信。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。...在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。 2、 架构 ?...MQTT传输的消息分为:主题(Topic)和负载(Payload)两部分;Topic:可以理解为消息的类型; Payload:可以理解为消息的内容,是指订阅者具体要使用的内容; MQTT的消息质量:QoS...服务器的消息接收由PUBACK消息进行确认,如果通信链路或发送设备异常,或者指定时间内没有收到确认消息,发送端会重发这条在消息头中设置了DUP位的消息。 QoS 2:只分发一次。...4、MQTT Servers Ably MQTT Broker Apache ActiveMQ :开源 Mosquitto:开源,对应的测试服务器(https://test.mosquitto.org/
想要变成 Docker 的高阶玩家,搞懂 Docker 的容器通信是必不可少的。...2、问题 通过 IP 通信,我们看似解决了容器间通信的问题,但在实际生产中,我们容器是会经常重新启动的,而上面的容器 IP 是Docker 分配的虚拟IP,这个IP是会变得,假设我们每次重新构建一个容器...④、容器地址 在宿主机查看运行ip addr,可以看到 tomcat1 的名称是:45: veth8eb364e@if44 mysql1的名称是:49: veth02cb24d@if48 我们进入到容器...tomcat1内部,查看ip: 44: eth0@if45 同理,进入到容器 mysql1 内部,查看ip: 48: eth0@if49 不知道大家注没注意到这一串名称的数字其实是关联的,这就是大名鼎鼎的...使用自定义的网桥可以控制哪些容器可以互相通信,可以通过容器名通信(自动DNS解析名称到IP地址,这个docker0是不支持的)。
这次去广州清算所调研来回飞机路上,啃了啃《通信之道:从微积分到5G》这本书,一方面是对3G之前的技术做一个回顾,另一方面也希望自己能够了解4G以后的相关技术。...从3G到4G主要升级了发射接收这个环节,直观上看3G到4G频率更高了,速度更快了。4G最重要的是采用了OFDMA的多址技术。...从第1G到3G中的FDMA、TDMA、CDMA思想很容易理解,对可用的资源进行利用。在4G中的OFDMA从表面上看与3G的CDMA技术完全不同,但是从数学上看,两者的差别却非常小。...从3G到4G,有些变化不大,例如编码turbo编码,这没有办法,因为turbo编码已经很接近香农定理给出了信道容量的上线了。...增加信道容量从编码的角度好像没有什么可以提升的空间,但是发现可以增加天线啊,直观的理解就是增加了信道容量。这也是MIMO的核心思想。
这是Wi-Fi Calling的第三篇,聊一聊用户是怎么从Wi-Fi Handover(切换)到LTE的。...至于LTE中默认的那个上网APN目前是永远不会建立到Wi-Fi中,而且也没有必要,因为我们说VoWiFi所使用的无线接入就是可以跟互联网连接的WiFi,那么当然切换到WiFi的时候上网就不再需要通信的PDN...因此从WiFi到LTE的切换也就是只涉及到IMS这个APN的PDN,所以也可以称为是一个PDN的切换过程。...同时如果用户是带有电话的切换,此时,需要建立LTE中的专载来承载语音业务,从而保证用户从Wi-Fi切换到LTE之后所有语音业务不间断。...: 以上就是Wi-Fi到LTE的Handover(切换)内容。
1、从Android到React Native开发(一、入门) 3、从Android到React Native开发(三、自定义原生控件支持) 4、从Android到React Native开发(四、打包流程和发布为...Maven库) 大家吼,(◐‿◑)作为失踪人口回归,这次第二期,就让我们来怼React Native的通信,快速实现单独的React Native模块到APP里,愉悦吧骚年。...再深入的我们就先不追究,后面有深入通信相关的文章推荐,其中涉及到CatalystInstance、ReactBridge、BridgeCallback等等,通过jni转为字符串,再拼接为命令和代码执行等原理...欧耶,终于码完了,你是不是对于React Native 相关的通信机制,还有交互实现有了新的了解呢?如果你觉得还不满足,这里推荐一个深度了解React Native通信的系列。...文中从android到js端,还有jni层面都做了详细的跟踪,有兴趣的可跳转观摩,下方链接。
大家吼,(◐‿◑)作为失踪人口回归,这次第二期,就让我们来怼React Native的通信,快速实现单独的React Native模块到APP里,愉悦吧骚年。至于为什么要有这期?...再深入的我们就先不追究,后面有深入通信相关的文章推荐,其中涉及到CatalystInstance、ReactBridge、BridgeCallback等等,通过jni转为字符串,再拼接为命令和代码执行等原理...的生命状态通知到js端。...端,到JS端对back按键事件的处理。...如果你觉得还不满足,这里推荐一个深度了解React Native通信的系列。文中从android到js端,还有jni层面都做了详细的跟踪,有兴趣的可跳转观摩,下方链接。
前言 话说前两天刚调研了 ArkUI-X 跨平台方案,最终卡死在了跨平台和 native 通信上,文章在这里鸿蒙跨平台 ArkUI-X从入门到入土[1],今天在社区的帮助下跑通了通信方案,该挖出来复活了...官方在 Android 侧提供了一个抽象类BridgePlugin,我们需要继承它实现一些方法来进行通信。在 ArkUI-X 侧同样提供了'@arkui-x.bridge包来进行通信。...jsCallMethod,在jsCallMethod中首先调用findMethod方法从methodsMap_中获取对应的方法,找了则直接调用。...没找到则反射获取 BridgePlugin 实现类中的方法,然后使用方法名做匹配,找到对应的方法。到这里也就解释了为啥不支持方法重载。也解释了为啥方法参数对应不上会有异常。...---- 参考资料 [1] 鸿蒙跨平台 ArkUI-X从入门到入土: https://juejin.cn/post/7327910163628294154 [2] 平台桥接开发指南: https:/
MQTT最初开发于1999年,用于监视卫星网络上的石油和管道。当时,需要一种协议,它对于电源有限的远程设备有效,带宽使用效率高并且能够在不可靠的网络连接上运行的协议。...开发MQTT时,还没有创造出IoT这个术语,也没有云计算,也没有出现各种IoT使用案例。 由于这些原因,需要更新MQTT协议,以解决在大型云平台上托管MQTT和处理其他物联网用例所需的某些缺少的功能。...在2015/2016年,OASIS内部开始研究新版本的规范MQTT5。在2019年3月,MQTT 5被批准为正式的OASIS标准。...如果消息在指定的时间段内未送达,则会将其删除。如果消息需要在一段时间内到达,这对于安全关键用例来说非常重要。 共享订阅 共享订阅允许多个MQTT客户端实例共享来自MQTT代理的相同主题的订阅。...拒绝超过最大消息大小的消息对于识别可能已变为恶意的MQTT客户端很有用。
随着物联网的火热,从google,亚马逊,微软到国内的百度,腾讯,阿里等巨头都发布物联网平台以及开发套件,支持MQTT(Message Queuing TelemetryTransport)协议那么做嵌入式开发的你还有理由不学习...今天我们就来简单介绍下MQTT协议. MQTT最早是由巨头IBM提出来的,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。...MQTT是专门针对物联网开发的轻量级传输协议是一个客户端服务端架构的发布订阅式的消息传输协议,他的设计思想是轻巧,开放,简单,规范,因此易于实现,受到了越来越多巨头的青睐,其主要的特点有: 使用发布订阅消息模式...很小的传输消耗,和协议数据交换,最大限度减少网络流量 异常连接断开时候,能通知到相关各方 MQTT控制报文结构 MQTT协议通过交换预定义的MQTT控制报文来通信,控制报文由三部分组成 ?...更多详细内容大家可参阅MQTT官方文档,尽量阅读英文原版的协议。
互联网的组成 互联网的边缘部分 从互联网的工作方式上看,可以划分为两大块: (1)边缘部分: 自由所有连接在互联网上的主机组成。...“交换”的含义 在这里,“交换”(switching)的含义就是转接——把一条电话线转接到另一条电话线,使它们连通起来。 从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。...电路交换举例 A 和 B 通话经过四个交换机 通话在A到B的连接上进行 电路交换缺点 计算机数据具有突发性。...互联网核心部分中的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。 主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。...存储转发原理并非完全新的概念 在20世纪40年代,电报通信也采用了基于存储转发原理的报文交换(message switching)。 报文交换的时延较长,从几分钟到几小时不等。
然而,作为一种通信技术的最新迭代,当5G机遇全面展开时,能够抓住机遇的绝非只有舞台上的明星,一路从通信服务做起来的很多解决方案厂商,凭借既往的技术和经验积累往往更具备优势,只不过很少被谈及。...首先要从当前5G创新的内在需求谈起。 在数字化、智能化转型的大背景下,产业与5G的融合积极性进一步高涨,大量的场景加入到5G创新落地进程当中,这也意味着,5G创新一定是与产业深度融合的。...3、催化:推动从成果输出到商业转化的全方位发展 5G创新面临很多现实痛点问题,作为一种前沿技术,尤其在技术进一步发展和应用转化上存在挑战。...其价值,简单说就是要建立规范化的技术生态,解决技术突破到应用的临门一脚问题。...在已有客户资源的基础上,针对这些人群做终端考量是商业模式延展的一种机遇,也能让客户体验更好——从工作到生活,拥有5G创新应用一体化的感受。
或者这么问: 包括持续交付在内的好的工程实践,是普遍被接受并实施的么 答案显然是:不是,至少在国内不算是 本篇,从零到一,构建你的持续交付的最终篇,本系列其它文章为: 从零到一,构建你的持续交付流程(一...):一个持续交付流程的构思 从零到一,构建你的持续交付流程(二):好的工程实践是必要的前提 从零到一,构建你的持续交付流程(三):搭建基于Jenkins+Docker的持续交付环境 从零到一,构建你的持续交付流程...(四):利用Docker,将服务容器化 从零到一,构建你的持续交付流程(五):使用Jenkins Pipeline,让交付流程与自动化 从零到一,构建你的持续交付流程(六):让你的持续交付闭环 易 从持续交付这个实践来说...事实上,自有编程这个行当以来,发展至令也有约近70-80年左右,从最开始的卡带编程到如今的现代语言,从少数精英才能完成的事情到如今虽有一定门槛,但只要稍加学习,基本没人不能用现代语言来编程的地步。...无论是从管理文化,还是技术文化上,推行类似的做法可能都具有一定的挑战与难度。 所以,如果从现实的角度来看,从零到一,难。
基于PSK的签名的方式连接MQTT的 官网文档在这里 : https://cloud.tencent.com/document/product/634/32546 走SDK里面也可以看到计算MQTT链接串的代码...这里我们不用代码 , 自己手工计算签名串 注意创建产品选密钥验证的产品 (不要选证书的) 1....拼接MQTT连接串的 ClientID 等信息 MQTT CLientID 就是 productId + DeviceName , MQTT username 就是 CLientID;sdkappid...计算签名来得到MQTT密码 工具地址在这里: https://1024tools.com/hmac 通过 HMAC-SHA1 或者 HMAC-SHA256 算法对 MQTT username 生成一串摘要...最后使用 MQTT.fx 或者 mosquitto 工具来 连接 MQTT
这个课程是React的一个系列课,不仅包括了React进阶所需要的React原理源码的讲解和手写实现,还包括了React周边流行库的原理源码的讲解和手写实现。...因为UMI和DVA都是经过封装的工具架,并不是单纯的React,新手容易混淆React和它的周边库。...一边写例子,一边查询文档,你会逐渐认识到一些概念,比如状态(State)、属性(Props)、Context、Hooks、路由(Router)等。...再次是MobX,也许写过Vue的小伙伴更喜欢MobX~ 最后是经常被忽略的Form解决方案,从HOC到Hooks,再到响应式。 说了这些,小白使用Redux上手就可以了,其它的以后可以慢慢再学。...DVA是一个数据流解决方案的框架,可以认为是一个Redux的封装版,现在几乎不用它直接做项目了。 UMI现在最新的版本是4,内置的React和Router也都是最新的版本。
探针的作用 从功能上讲,探针的作用很简单,之前我也发文澄清过许多人的一些概念不清,本文是希望让运维和开发都能理解,所以会尽量简单的表达。...而就绪探针,保证应用有问题时切断流量,避免该应用被调用到: 如果只是从功能角度看,似乎二者的区别不大,配置一个相同的应用接口似乎也没啥问题,那为什么还要设置两个不同的探针呢?...宏观的意义 运维的朋友,尤其是做过微服务应用运维的朋友,一定见识过某个基础组件或上游服务出故障的情况吧?可观测做的“到位”,可能是满大屏的红色惊叹号。《发布!...意思就是 liveness 探针不应当依赖外部系统的状态,但实际上有时这个外部系统的定义未必那么笃定;也可能我们的应用无法从某个外部系统的故障中恢复,所以即使是外部系统,我们可能也会将其纳入到 liveness...谨以本文给大家一个例子,希望大家能够互相体谅,保持一点 DevOps 的精神,高层领导也能意识到这个问题,看看怎么解决。
导语 | 目前互联网系统都是微服务化,那么就需要RPC调用,因此本文梳理了从RPC基本框架协议到整个服务化框架体系建设中所包含的知识点,重点在于RPC框架和服务治理能力的梳理。...一、从RPC到服务化框架设计 (一)RPC基本框架 理解RPC RPC就是远程过程调用。我们本地的函数调用,就是A方法调B方法,然后获取结果,RPC就是让你像本地函数调用一样进行跨服务的函数调用。...我们现在都在讲微服务,服务都拆分为微服务了,那么相关依赖的调用,就会变成跨服务之间的调用,他们的通信方式就是依靠RPC。...目前从性能上和使用广泛度上来看,现在一般推荐使用PB,当然很多自研的框架里面他们也会自己实现他们自己的序列化协议。...网络传输(网络通信) 在数据被序列化为二进制后就可以行网络传输了,网络传输就是我们的数据怎么传输到对方服务器上,目前来说,常见的通信传输方式包括:TCP、UDP、HTTP(HTTP2.0)、QUIC协议
TIBOE 有如期的发布了最新的编程语言的排行榜,变化总是有的,这是今年3月的榜单: ?...一句“PHP是世界上最好的语言”可能会引起一场又一场的激战,这句话仿佛成了一个“梗”,自己也无法免俗,忍不住写了一篇《PHP是最好的语言吗》,但编程语言鄙视链的存在令很多人无休止的追问,这不应该只是一种程序员间的乐此不疲吧...那么,由此类比到编程语言会是怎样的情景呢? 是否可以对编程语言进行抽象呢? 而且抽象到3个维度呢?...根据自己所用过的编程语言的经验(35岁前曾经每年学一门编程语言),仿佛可以把编程语言归纳到3个约束:Simple,Adaptive,Performance——SAP: Simple 简洁明快 * 编程语言的读与写都容易理解...没有仔细阅读过CAP的数学证明,也没有努力想用数学的方法去证明SAP的成立,现在只是老码农的猜想,可能是一种错误或者遗憾吧。 回顾一下编程语言的历史,献上一张来自veracode.com的旧图: ?
DDD这几年越来越火,资料也很多,大部分的资料都偏向于理论介绍,有给出的代码与传统MVC的三层架构差异较大,再加上大量的新概念很容易让初学者望而却步。本文从MVC架构角度来讲解如何演进到DDD架构。...从DDD的角度看MVC架构的问题 代码角度: 瘦实体模型:只起到数据类的作用,业务逻辑散落到service,可维护性越来越差; 面向数据库表编程,而非模型编程; 实体类之间的关系是复杂的网状结构,成为大泥球...DDD分层架构: MVC架构到DDD分层架构的映射: 至此,算了基本入门了DDD架构,扩展性也得到了一定的提升。...第二层:草船借箭(战术设计) 带着问题不断学习他人经验,并不断的尝试,逐渐get到以下技能: 1、领域层 领域(domain)是个模块,包含以下组成部分,传统的service按功能可能拆分到任何一个地方...; 总结 本文从MVC架构开始讲述了如何从演进到DDD架构,限于篇幅很多DDD的知识点没有讲到,希望大家在实践过程中能灵活运用,尽享DDD给业务带来的价值。
本文总结了项目从Ant迁移到Gradle的实践经验和相关技巧,供大家参考。...从Ant脚本和流程可以看出,Ant的任务都是直接在脚本中实现,然后按照脚本定义的执行顺序来依次执行任务。...因为打包方式从Ant移植到Gradle后,最重要的是保证打包的功能和最终效果保持不变,做到平滑的移植。所以,这里我们就应该平滑的将Ant任务改造成Gradle任务,然后移植到Gradle脚本中。...三、Ant任务改造成Gradle任务 下面就以dex分包过程中生成从dex的类列表为例,来说明如何将Ant中自定义的任务移植到Gradle。...第二种形式的优缺点正好跟第一种形式相反。 我们在使用的时候可以根据情况来选择使用哪种形式。 六、总结 以上讲述了我们从Ant到Gradle的移植方法和案例。
领取专属 10元无门槛券
手把手带您无忧上云