范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MQTT比TCP协议好在哪儿?

  MQTT比TCP协议好在哪儿?就好比汽车底盘上有四个轮胎就能跑了,但是想要大家开车更舒服,我们还是得给底盘加个壳。
  简单对比
  为什么要在 TCP 协议之上再封装一层 MQTT 协议呢?
  举个例子,如果你要用 TCP 协议做一个即时聊天室,那么你:首先写一个服务器程序,监听某个端口,这样客户端就能连接上来了。然后大家就能向自己的服务器发送数据了。但是你不希望随便谁都能连接你的服务器并且往你的服务器里发东西,于是你写了一个注册页面,让别人先去注册账号,然后他们在客户端创建连接时发送的第一个TCP报文必须包含了账号密码。这样当你收到第一个报文之后,你就能判断这个连接是否合法了。但是发过来的账号密码,具体摆在报文什么位置,也得事先约定好吧,不然怎么知道哪几位是账号哪几位是密码,于是你要求:第一个字节为1,用来告诉你这是一个请求连接的报文。然后第二个字节是报文剩下的长度(这个没啥异议,粘包处理必备),然后是"饼干熊最帅"这样一个固定的字符串(没啥意思,就是开心),后面紧跟着就是账号,然后是密码。但是账号有多长呢,所以账号第一个字节是账号的长度,剩下才是账号内容,这样就解决了"账号有多长"的问题了,密码同理。如果账号密码不匹配就断开连接并且返回一句"xxxx off",如果创建连接后半天不发送任何东西也断开连接。现在大家的客户端都连接上来了,你在服务器保存了一个`账号:socket`的map,能通过任何一个账号找到这个人的socket并向他发送信息。接下来大家就要开始聊天了。在聊天室中,一个人发送的消息其他人都能收到,所以你添加了聊天室的概念,用户首先去你的web页面创建聊天室,然后会得到一个聊天室的ID。然后用户要加入聊天室,必须先发送一个加入聊天室的报文。然后你要求报文第一个字节为2代表加入聊天室的请求报文,然后是报文剩余长度,然后是聊天室ID,聊天室ID有多长?我们还是用第一个字节代表长度,剩下的内容为具体ID的形式来搞定。现在有多个用户加入了聊天室,其中每个用户又都加入了多个聊天室。假设现在大家在聊天室A中开始聊天。用户甲向服务器发送消息,然后你发现你不知道这条消息是请求连接还是要加入聊天室还是干啥,所以发送消息也应该定义一种报文类型。于是你要求发送消息的报文的第一个字节为3,那么这个报文是发送到哪个聊天室的呢?于是你要求报文后面跟上聊天室ID,最后是具体的消息内容。服务器收到第一个字节为3的消息,就知道这是一个聊天消息。然后根据上面带的聊天室ID以及你在服务器存储的用户和聊天室的关系,找到了这个聊天室里的所有人,然后你就把消息发给这里面的所有人了。
  上面这个例子,在连接服务器(检查合法性、断开连接)、订阅主题(加入聊天室)、发布消息这些过程中,你约定的报文格式和设计的服务器处理逻辑就是 MQTT 协议的内容,当然我举的例子非常粗糙。
  MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,因此易于实现。这些特点使得它对很多场景来说都是很好的选择,包括受限的环境:如机器与机器的通信(M2M)以及物联网环境(IoT),这些场景要求很小的代码封装或者网络带宽非常昂贵。
  MQTT的优点是:
  1)具备实时性,设备控制速度可以在200ms以内;
  2)设计简单、轻巧、便于实现;
  3)占用资源少,非常适合在资源受限的物联网芯片上运行
  当然,它的缺点也很明显:
  1)基于TCP/IP,对网络环境要求相对较高;
  2)TCP存在RST攻击,容易被运营商拦截;
  3)TCP资源相对UDP消耗大,需要建立连接、维护连接、释放连接
  首先TCP是传输层协议,实现了一个双向的通信链路。
  MQTT是基于TCP的应用层协议。(当然中间可能多一层,websocket)
  两者不在一个层级,比较谁比谁好是没有意义的。
  TCP 也可以实现数据通信,比如发送传感器数据到服务器。为什么要用到MQTT呢 ?
  假设现在有一个物联网的应用,当然可以直接用TCP socket 做通信,实际上不少人也是这么做的。然后你就会发现:
  * 需要自己写确认重传的机制,因为TCP 连接说不定就断了。
  * 如果有很多个传感器(生产者),又要写代码管理这么多TCP连接呢。
  * 如果同时又有多个地方需要用到这些数据,还得写一个转发的逻辑。
  * 如果系统很复杂,参与人或公司很多,那通信格式要怎么定,怎么改,沟通成本就很大了。
  这些东西这么麻烦,又不想加班写代码,那有没有办法简便地解决呢?当然有,就是用现成的协议啦,比如MQTT。
  MQTT 提供两个核心功能:
  * 三个级别的QOS
  *基于订阅/发布的消息转发服务。
  用了MQTT, 上面提到的这些问题就都被优雅地解决掉啦。
  其实,同类应用的很多问题,都是有一定共性的。这时候就会有一些人提出一般性的解决方式,这样大家就不用重复造轮子,同时又保证了互操作性。这就是协议存在的意义啦。
  所以一句话总结,MQTT 和其他的应用层协议,比如 HTPP, FTP, BitTorrent 协议一样,都是为了解决特定问题而生的一套方案,可以帮我们省好多事。
  真正的MQTT协议要求的处理逻辑和报文格式都完善很多,但是协议本身还是很简单的,具体内容去看 MQTT 的文档吧。

中国足球天才?恳请中国足协认真思考规划青训被誉为中国足球小将天才球员的邝兆镭,已经前往西班牙巴塞罗那,开始欧洲留洋之路。究竟是什么样的中国足球孩子,获得如此高的赞誉?当然,也有不少人说邝兆镭资质一般,最终将走向平庸。且让我巴萨是要复兴了吗?极目新闻记者邓鹏伟北京时间3月20日凌晨,巴萨在西甲第26轮的比赛中21击败了皇马,这是巴萨本赛季第三次击败皇马。历史数据显示,这也是巴萨第100次击败战舰,他们也是皇马121年历记者魏震想离开上海上港,其父母跪求陈戌源,如今2500万被冻结头条创作挑战赛从孙世林朱建荣秦升矫喆金敬道四人被抓,接着,陈戌源儿子被带走接受调查,有足球报主任李璇的话说,足协高层陈戌源涉嫌严重违纪被查,中国足坛任何一个被查,都不是新闻了。随着评论员巴黎若聪明就该赶紧让梅西走,释放的薪资能摊给五名球员直播吧3月20日讯本轮法甲,巴黎02不敌雷恩。赛后法国评论员皮埃尔梅内斯批评了巴黎。梅内斯巴黎方面没有任何反应,当你看到他们缺阵的人数时,除了门德斯,几乎整条防线加上内马尔都伤了。盘点中超实力排行榜,武汉三镇补强给力,谁最有能力夺冠?随着各支球队不断引援和补强之后,实力与以前相比显著提升,如武汉三镇走了马尔康,但是来了雅库布,他的实力一点不逊色马尔康,再加上几个本土悍将加盟,实力提升几个档次,上港和北京国安也迎春日相约桃花盛开的地方2023无锡阳山半马26日开跑2023惠山文商旅集团阳山半程马拉松赛前新闻发布会日前在无锡市惠山区阳山镇桃花岛会议中心召开,宣布2023阳山半程马拉松将于3月26日上午鸣枪开跑。届时,5000名跑友将相聚阳山这热内西奥遇到的并非实力最强的巴黎,还是要向队员表示祝贺直播吧3月20日讯在北京时间今天凌晨结束的一场法甲联赛中,雷恩以20的比分击败巴黎圣日耳曼。在赛后接受采访时,雷恩主帅热内西奥表示球队所遇到的并非是最强的巴黎,但他还是想要向自己的31分钟砍976!六犯离场,仍获塞拉斯点名?火箭中锋狂补短板从当年的饼皇卡佩拉,到之后的伍德,再到如今的火箭队主力中锋阿尔佩伦申京,火箭队的中锋位置球员类型,已经慢慢由主防变成了主攻。不管是伍德还是申京,都属于那种攻强守弱的大个子。只不过伍张继科把温柔给了景甜,把遗憾留给刘诗雯,依旧孑然一身在体坛有太多刻骨铭心的爱情。张继科与刘诗雯,就是那对最让人意难平的体坛CP。曾经桀骜不驯的少年,在最好的年华遇到了最值得被温柔对待的少女,只可惜两人终究是渐行渐远。刘诗雯选择继续在只比亚洲纪录慢0。03秒覃海洋男子100蛙爆发京报体育记者李远飞3月20日,2023年全国春季游泳锦标赛结束了第二比赛日的争夺。在晚间进行的男子100米蛙泳决赛中,上海名将覃海洋以58秒66夺得冠军。这个成绩仅比湖北名将闫子贝准入悬念将揭晓,广东三球队神奇完成清欠,足协审核机制流于形式北京时间3月20日,中国足协官方公布了第二批完成处理历史欠薪的球队名单,除了成都蓉城陕西长安竞技黑龙江冰城广西平果哈嘹青岛红狮和淄博齐盛出现在名单上,曾经的中超八冠王广州队,以及此
心有阳光,路有远方人生一世,其实并不长,所以要认真的过。要对热爱的事物,不留余力要对热爱的人,倾尽真意。人间烟火,悲欢离合,无数重叠的风景,无数重复的日子,藏着我们眷恋的所有。人一生的命运,就像蒲公人生的三大要素知足感恩乐观一要知足我们都知道知足常乐,但现实生活中又有几个人能做到?今天住上了70平米的房子,明天又想着更大今天开上了10万的车子,明天又想开上更好的今天当上了科长,明天又想着当处长人有理想写给自己保持好心态的人生格言一真正的内心强大,就是活在自己的世界里,而不是活在别人的眼中和嘴上。人生在世,无非是笑笑别人,然后再让别人笑笑自己。二蛇不知道自己有毒,人不知自己有错。在这个浮躁的社会,你的好就像自律的最高境界不贪,不说,不怕1不贪。不贪便宜。总想占便宜的人,失了人缘,毁掉了底线,丢掉了人品和格局。不贪虚名。品格优良的人是淡泊名声的,贪图名声的人反而会被名声所累,甚至被名声所害。不贪安逸。懒惰是很奇怪的此生,有人懂你,足矣什么是爱情?诗人查特顿,做出这样的总结爱情是欢乐的宝库,是最大的愉快,是从不使人生厌的祝福。在这茫茫人世,你会认识很多很多的人,会走进很多很多人的心间也有很多人曾走进你的心间,可心摘自杨绛先生语录1。当你的脚,被你的鞋,磨出了泡,你却还舍不得丢掉,那说明你喜欢,突然有一天这个泡,让你日夜疼痛,你才发现,这样的坚持,是多么的不值得!因为这双鞋,从没心疼过你的脚。所以善良要遇对天文望远镜的演变1伽利略望远镜(Galileotelescope)时间1609年发明人意大利物理学家伽利略意义人类历史上第一台天文望远镜结构物镜是凸透镜,目镜是凹透镜贡献观测了月球太阳黑子以及木星古代石球探秘(三)神秘的南非小球从上世纪开始,南非的矿工们陆续发现了数百枚奇怪的小圆球。它们的直径通常在2到10厘米之间,在少数个体的赤道附近,还有平行的环状凹槽以及形状规则的小坑。从构造上看,这些球体分成两种一元宇宙?我们这个宇宙也是虚拟的吧当我们降临这个世界,睁开眼的那一刻,就看到了我们这个世界,蓝天,白云,鸟语花香,周围的一切都是那么的真实。很少有人会去思考这个世界的真实性,如果你我其他所有人以及整个宇宙的一切实际空间中心基于慧眼卫星数据反演得到90200km高度范围内的地球中性大气密度临近空间大气同时受到来自上方的太阳活动和地磁活动的影响,以及来自下方的地形天气活动重力波的影响,因而临近空间大气表现出复杂且多样的变化特征,临近空间大气密度作为表征临近空间大气的基5艘飞船正离开太阳系,最远已达225亿公里,NASA想做什么?假如在未来的某一天,当你有能力离开太阳系的时候,你的第一个想法是什么?在宇宙的深处,不知道是否会有你心仪的目的地?对于这两个问题,相信很多人都曾幻想过自己的答案。而现如今,5艘飞船