网络编程
文章平均质量分 74
项目中使用过的网络编程笔记总结:
包括且不限于:TCP编程、MQTT、网络基础等
郭老二
没有人不爱惜他的生命,但很少有人珍视他的时间!
展开
-
【网络】无线路由器的AP、Client、WDS、WISP使用功能图解(清晰明了)
有线路由器组成:一个有一个 WAN 口和一个 LAN 口的路由器、一个有几个 LAN 口的网络交换机,一个接在 LAN 口的 DHCP 服务器。如下图所示。原创 2023-05-31 19:42:06 · 16967 阅读 · 0 评论 -
【网络】无线相关名词解释:RSSI、RSRP、SNR
1、RSSIRSSI(Received Signal StrengthIndicator接收信号强度指示)RSSI在无线网络中表示信号的强度,它随距离的增大而衰减,通常为负值,该值越接近零说明信号强度越高。RSSI持续过低,说明基站收到的上行信号太弱,可能导致解调失败。 RSSI持续过高,说明收到的上行信号太强,相互之间的干扰太大,也影响信号解调。RSSI等级划分:建议采用>-40dbm,-40-50dbm,-50-70dbm,-70~-90dbm,<-90dbm来划分你的格子。2、R原创 2022-05-23 14:23:44 · 14556 阅读 · 1 评论 -
【MTQQ】剩余长度总结及协议抓包分析
1、剩余长度总结如下图,MQTT固定协议头中,从第二字节开始是剩余长度。1)剩余长度表示哪部分的长度:可变报头(如果有)+ 有效载荷区域(如果有);2)剩余长度用那几个字节表示:从第二个字节开始,最多4个字节,它是变长的;3)剩余长度如何实现变长:剩余长度字段使用一个变长度编码方案,对小于128的值它使用单字节编码;而对于更大的数值则按下面的方式处理:每个字节的低7位用于编码数据长度,最高位(bit7)用于标识剩余长度字段是否有更多的字节,且按照大端模式进行编码,因此每个字节可以编码128个数原创 2022-04-27 12:20:56 · 1388 阅读 · 0 评论 -
【物联网】NB-IoT简介
一、“我”是谁?NB-IoT:基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。1.1 什么是蜂窝网络?蜂窝网络或移动网络(Cellular network)原创 2018-01-04 15:01:40 · 2268 阅读 · 0 评论 -
【物联网】NB-IoT简介
一、“我”是谁?NB-IoT:基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。1.1 什么是蜂窝网络?蜂窝网络或移动网络(Cellular network)原创 2017-08-25 13:32:53 · 2236 阅读 · 0 评论 -
【网络】4G、5G频段汇总
1、三大运营商:4G频段中国移动(共130MHz频谱):1880-1900MHz、2320-2370MHz、2575-2635MHz中国联通(共40MHz频谱):2300-2320MHz、2555-2575MHz中国电信(共40MHz频谱):2370-2390MHz、2635-2655MHz2、三大运营商全部频段3、5G关于5G的频谱,看这一篇就够啦!4、频段大全移动通信网络频段大全,含5G、4G,各种公开频段汇总...原创 2022-04-21 13:09:45 · 34435 阅读 · 0 评论 -
【MQTT】MQTT学习总结(二):服务器、客户端搭建
一、服务器搭建1、EMQX官网:https://www.emqx.io/zhgithub:https://github.com/emqx/emqx1.1 下载安装包:https://github.com/emqx/emqx/releases/tag/v4.4.2安装包支持:ubuntu16.04~20.04以及其他linux操作系统,amd64(电脑版)和arm64(嵌入式版)的都有,可以先体验下windows版本本人下载的本版:emqx-4.4.2-otp24.2.1-windows-amd原创 2022-04-07 15:18:43 · 4997 阅读 · 0 评论 -
【MQTT】MQTT学习总结(一):介绍
参考网址:中文官网:http://mqtt.p2hp.com/MQTT协议3.1.1中文版:http://mqtt.p2hp.com/mqtt311MQTT协议5.0中文版:http://mqtt.p2hp.com/mqtt-5-0参考博客:https://blog.csdn.net/qq_28877125/article/details/78325003一、简述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),MQTT是机器对机器(M2M原创 2022-04-07 10:45:02 · 549 阅读 · 0 评论 -
【网络编程】epoll 笔记
一、最大连接数1、selectselect在单进程中最多同时监听1024个fd;要想实现百万并发需要一千个进程,并且性能会很差、内存消耗巨大。所以select只适用于连接数在一千个以下的场景。2、epollepoll本身不限制连接数,但是连接数会受到系统限制。1)文件句柄限制Linux系统限制单进程可以打开文件的数量默认是1024,可以使用ulimit -n命令查看。$ ulimit...原创 2019-12-11 14:55:28 · 1353 阅读 · 0 评论 -
【网络编程】同步IO、异步IO、阻塞IO、非阻塞IO
IO分两阶段:1.数据准备阶段:在该阶段,根据是否等待数据准备,将IO分成阻塞和非阻塞;2.内核空间复制回用户进程缓冲区阶段:在该阶段,只要程序需要等待复制完成,才能往下运行(尽管这个时间很短),就是同步IO,否则才是异步IO。详见博客:同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别...原创 2019-12-09 16:22:04 · 219 阅读 · 0 评论 -
【网络编程】MarioTCP 流程图(一)
原创 2017-08-23 19:59:26 · 641 阅读 · 0 评论 -
【libevent】libevent库学习总结(一)——基础
libevent库学习总结(一)——基础一、基础1.1、 介绍Libevent是一个用于开发可伸缩网络服务器的事件通知库。Libevent API提供了一种机制来执行回调函数,当某个特定事件发生在文件描述符上或超时到达之后。此外,Libevent还支持信号或定期超时的回调。 Libevent的目的是取代在事件驱动的网络服务器中发现的事件循环。应用程序只需调用eventbasedispatch()(翻译 2017-09-22 14:53:49 · 660 阅读 · 0 评论 -
【libevent】libevent库学习总结(二)——编程步骤
一、libevent编程步骤0、分配并初始化event_base,两种方法0.1 event_base_new:线程安全,代替event_init; 0.2 event_init:线程不安全,不推荐使用,仅仅是为了向后兼容1、创建event,设置event的回调函数,加入event_base,两种方法1.1 event_new:函数内部分配event,并加入参数指定的event_base中; 1原创 2017-09-25 15:49:38 · 595 阅读 · 0 评论 -
【网络编程】MarioTCP
0、参考博客《MarioTCP_一个可单机支持千万并发连接的TCP服务器- JohanFong - CSDN博客》http://blog.csdn.net/everlastinging/article/details/108944931、下载sourceforge下载:https://sourceforge.net/projects/mariotcp/files/late原创 2017-08-23 19:56:12 · 973 阅读 · 0 评论