科技新闻

HTTP协议基础

冷暖自知 提交于 2020-03-07 04:12:15
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。 通用头域 通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。 Cache

开始系统学习C++

半城伤御伤魂 提交于 2020-03-07 03:25:44
C++初识 C++程序样例 main()函数 1.作为接口的函数头 2.为什么 main() 不能是其他名称 C++ 预处理器和 iostream 文件 C++程序样例 /** * Author@Cheng Feitian * Date: 2020-3-6 * Function: 显示消息 */ # include <iostream> int main ( ) { using namespace std ; cout << "Come up and C++ me some time." ; cout << endl ; cout << "You won`t regret it!" << endl ; return 0 ; } main()函数 根据上述代码,可以抽象出 C++ 的基本结构: int main ( ) { statements ; return 0 ; } 与 C 语言差别不大,组成: int main () 称为函数头; 花括号({和})包含的部分称为函数体。 最后一句称为返回语句。 1.作为接口的函数头 需要谨记的是,C++ 句法要求 main() 函数的定义以函数头 int main() 开始。 通常来说,C++ 函数可被其他函数激活或调用,函数头描述了函数与调用他的函数之间的接口。位于函数名前面的部分叫做函数的返回类型

springboot 整合ActiveMQ

谁说我不能喝 提交于 2020-03-07 03:25:15
简介 消息队列可以有效实现服务解耦,并提高系统的可靠性和可扩展性。ActiveMQ 是一个开源消息中间件,Apache ActiveMQ 对Spring 提供了支持,可以非常便捷的嵌入Spring。 异步消息中有两个很重要的概念,即消息代理(message broker)和目的地(destination),消息发送后将由消息代理接管。 异步消息主要有两种形式的目的地:队列(queue) 和主题(topic)。队列用于点对点(point to point)消息通信;主题用于发布订阅(publish/subscribe)的通讯。 二.流程 1.下载安装activemq并配置相关授权 2.pom.xml 引入activemq 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> 3.application.yml 配置activemq 4.HelloController.java package com.vincent.controller; import com.vincent.model.R; import org.springframework.beans.factory

微信短视频加速,张小龙的步子不妨更大一些!

可紊 提交于 2020-03-07 02:23:02
继视频号上线后,微信在短视频方面又有新动作。 日前有媒体报道,微信订阅号消息页面顶部“常阅读号”栏新增“视频”入口。目前该 功能正在iOS系统用户小范围进行灰测。 微信短视频加速 此次微信订阅号消息页面顶部“常阅读号”灰测为公众号短视频创作者又提供了一个全 新的流量入口。 据了解,iOS版灰测视频入口具备三大特征:一是短视频内容的展示方式与微信以往的固 有模式出现了很大改变。用户点入视频入口后,每一个被订阅公众号的详尽数据,包括 新增的视频数量、视频的播放量、有多少“朋友”在观看等,都会明确列出;二是这些 公众号发布的短视频内容,全部都会按照信息流模式展现在用户面前,更具沉浸感;三 是这种新的展示方式中,微信“生态”被“嵌入”了视频中,创作者可以加入小程序卡 片 至此,微信生态下的短视频内容已经形成了多个入口并存形态。他们是微信一个多月前 上线的微信视频号,“看一看视频”,“视频动态”。 与微信此前已经存在的短视频入口相比,新推出的公众号短视频入口最大的特点就是其 “媒体”的定位。尽管这几大入口展示的内容,均为PGC与UGC并存,但像微信视频号这 样的入口,显然更倾向于UGC,以“人人都是创作者”为导向。而这次灰测的新入口,则 是以公众号体系为依托。众所周知,公众号这个体系在基因上就带有天然的媒体导向, 其短视频内容自然会更偏向于PGC以及PUGC。 总之,随着更多入口形态的出现

数字证书简介及Java编码实现

旧时模样 提交于 2020-03-07 02:22:06
数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此, 私钥也可以认为是个人身份的证明。 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密。 2.消息摘要 消息摘要可以将消息哈希转换成一个固定长度的值唯一的字符串。值唯一的意思是不同的消息转换的摘要是不同的,并且能够确保唯一。 该过程不可逆 ,即不能通过摘要反推明文(似乎SHA1已经可以被破解了,SHA2还没有。一般认为不可破解,或者破解需要耗费太多时间,性价比低)。 利用这一特性, 可以验证消息的完整性。 消息摘要通常用在数字签名中,下面介绍用法。 了解基础知识之后,就可以看一下数字签名和数字证书了。 3.数字签名 假设现在有通信双方A和B,两者之间使用两套非对称加密机制。 现在A向B发消息。 那么,如果在发送过程中,有人修改了里面密文消息,B拿到的密文,解密之后得到明文,并非A所发送的,信息不正确。 要解决两个问题:1. A的身份认证 2. A发送的消息完整性

moquette源码分析之七--qos1和qos2消息的处理

六月ゝ 毕业季﹏ 提交于 2020-03-07 02:18:48
首先解释一下mqtt协议的session的概念,因为只有有了session才会存在消息质量保证一说 如果清理会话(CleanSession)标志被设置为0,服务端必须基于当前会话(使用客户端标识符识别)的状态恢复与客户端的通信。如果没有与这个客户端标识符关联的会话,服务端必须创建一个新的会话。在连接断开之后,当连接断开后,客户端和服务端必须保存会话信息 [MQTT-3.1.2-4]。当清理会话标志为0的会话连接断开之后,服务端必须将之后的QoS 1和QoS 2级别的消息保存为会话状态的一部分,如果这些消息匹配断开连接时客户端的任何订阅 [MQTT-3.1.2-5]。服务端也可以保存满足相同条件的QoS 0级别的消息。 如果清理会话(CleanSession)标志被设置为1,客户端和服务端必须丢弃之前的任何会话并开始一个新的会话。会话仅持续和网络连接同样长的时间。与这个会话关联的状态数据不能被任何之后的会话重用 [MQTT-3.1.2-6]。 客户端的会话状态包括: ● 已经发送给服务端,但是还没有完成确认的QoS 1和QoS 2级别的消息 ● 已从服务端接收,但是还没有完成确认的QoS 2级别的消息。 服务端的会话状态包括: ● 会话是否存在,即使会话状态的其它部分都是空。 ● 客户端的订阅信息。 ● 已经发送给客户端,但是还没有完成确认的QoS 1和QoS 2级别的消息。 ●

初识emqx消息服务器

本秂侑毒 提交于 2020-03-07 02:07:07
EMQ X R3.0 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。 MQTT是什么 MQTT是一个由IBM主导开发的物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。它的核心设计思想是开源、可靠、轻巧、简单,具有以下主要的几项特性: 非常小的通信开销(最小的消息大小为 2 字节); 支持各种流行编程语言(包括C,Java,Ruby,Python 等等)且易于使用的客户端; 支持发布 / 预定模型,简化应用程序的开发; 提供三种不同消息传递等级,让消息能按需到达目的地,适应在不稳定工作的网络传输需求。 emqx提供了三种消息发布服务质量 Quality of Service等级是发送与接收端的一种关于保证交付信息的协议。一共有3 个QoS 等级: (1) "至多一次0",消息发布完全依赖底层TCP/IP 网络,会发生消息丢失或者重复,这一级别可用于如下情况,环境,传感器数据,丢失一次度记录无所谓,因为不久之后会有第二次发送 (2)"至少一次1" 确保消息到达,但消息重复可能发生 (3) “只有一次2",确保消息到达一次,这一级别可用于如下情况,在计费系统中

mqtt协议-broker之moqutte源码研究四之PUBLISH报文处理

与世无争的帅哥 提交于 2020-03-07 02:03:39
先简单说明一下,对于mqtt是个双向通信的过程,也就是说,他既允许client向broker发布消息,同时也允许broker向client发布消息 public void processPublish(Channel channel, MqttPublishMessage msg) { final MqttQoS qos = msg.fixedHeader().qosLevel(); final String clientId = NettyUtils.clientID(channel); LOG.info("Processing PUBLISH message. CId={}, topic={}, messageId={}, qos={}", clientId, msg.variableHeader().topicName(), msg.variableHeader().packetId(), qos); switch (qos) { case AT_MOST_ONCE: this.qos0PublishHandler.receivedPublishQos0(channel, msg); break; case AT_LEAST_ONCE: this.qos1PublishHandler.receivedPublishQos1(channel, msg); break; case

MQTT 消息中间件特性

南楼画角 提交于 2020-03-07 01:36:58
MQTT作为一种消息中间件,是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上。 MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT协议工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性 (1)使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。 (2)对负载内容屏蔽的消息传输。 (3)使用TCP/IP提供网络连接。 主流的MQTT是基于TCP连接进行数据推送的,但是同样有基于UDP的版本,叫做MQTT-SN。这两种版本由于基于不同的连接方式,优缺点自然也就各有不同了。 (4)有三种消息发布服务质量: "至多一次",消息发布完全依赖底层TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。这一种方式主要普通APP的推送,倘若你的智能设备在消息推送时未联网,推送过去没收到,再次联网也就收不到了。 "至少一次",确保消息到达,但消息重复可能会发生。 "只有一次",确保消息到达一次。在一些要求比较严格的计费系统中,可以使用此级别。在计费系统中

辅助功能:

假如想象 提交于 2020-03-07 01:04:48
转发 转发到朋友圈 转发聊天内容到朋友圈 ✓ 转发朋友圈内容到朋友圈 ✓ 转发聊天内容里多想图片到朋友圈 ✓ 转图片添加水印 ✓ 转发给好友 转发语音给好友 ✓ 转发多条语音给好友 ✓ 转发名片给好友 ✓ 转发朋友圈图片给好友 ✓ 转发给群助手 转发给群聊助手 ✓ 转发多条消息给群聊助手 ✓ 其他转发 转发收藏内容 ✓ 群聊管理 成员退缩提示 ✓ 成员改昵称提示 ✓ 被@提示 ✓ 防止被@ ✓ 群聊@多个成员 ✓ 快捷发布群公告 ✓ 新加群聊自动免打扰 ✓ 自动回复 机器人聊天 ✓ 关键词回复 ✓ 定时回复 ✓ 接受好友自动回复 ✓ 对方通过好友验证请求时自动回复 ✓ 通讯录 接受好友请求 阻止好友请求通知 ✓ 自动接收好友请求 ✓ 批量接受好友请求 ✓ 删除好友 搜索单删好友 ✓ 批量删除单删好友 ✓ 批量删除通讯录好友 ✓ 批量修改好友备注 ✓ 批量保存群聊到通讯录 ✓ 朋友圈 朋友圈评论永远未读状态 ✓ 屏蔽朋友圈动态 ✓ 定时刷新朋友圈 ✓ 自动加载朋友圈动态 ✓ 朋友圈过滤 ✓ 伪积攒 ✓ 自动点赞 ✓ 自动评论 ✓ 批量删除朋友圈动态 ✓ 红包 自动领取红包 ✓ 转账自动收钱 ✓ 防撤回 防止消息撤回 ✓ 防止朋友圈动态撤回 ✓ 防止评论撤回 ✓ 自动撤回 ✓ 聊天 发送私密消息模式 ✓ 自动翻译模式 ✓ 自动语音转换文字模式 ✓ 发送网络表情 ✓ 首页朋友圈快捷 ✓