自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 pyqt几点总结

一、窗口运行在主线程,需要采用QTread处理复杂的逻辑,否则导致主窗口卡顿二、强度的绘图库:pyqtgraph下载pyqtgraph,会自动下载依赖库numpy、 PySidepip install --user pyqtgraph -i https://pypi.tuna.tsinghua.edu.cn/simplePyQtGraph自带一个丰富的示例模块: python -m pyqtgraph.examples 示例源码:C:\Users\Jushri_User\AppD...

2020-11-27 11:11:44 284

原创 pyinstaller安装

方法一、直接采用pip install pyinstaller,但编译时提示bootloader错误方法二、重新下载pyinstaller源码编译安装,参考: https://blog.csdn.net/m0_43432638/article/details/108581288还是不行,说是需要采用win32的,所以:方法三、python ./waf all --target-arch=32bit 再 python setup.py install编译成功,但是发现新问题:由于不想携带命令行

2020-11-27 11:06:35 816 1

原创 pyqtSignal携带参数的两种方法

一、直接再pyqtSignal中指定需要携带参数的类型即可,如str、int,或者万能类型:object二、在connet采用lambda:net方法: _xxx_signal.connect(lambda:xxx.xxx_show(recv_t.data))

2020-11-24 11:04:48 1676

原创 PyQt5  PyQt5-tools 安装

分别安装PyQt5 PyQt5-tools,网上介绍的均是通过pip直接安装,但是直接安装,由于链接的境外网站,网速较慢,安装失败可以采用清华大学镜像网站下载:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5_tools同样失败,原因是由于pip默认原的网络链接较差,临时使用本镜像站来升级pip,详见:https...

2020-03-20 15:21:19 14472

原创 精简头文件

代码的反复拷贝使得头文件重复包含较多,如头文件A包含了B,B包含了C,而在一个.c中却均包含了ABC。这种情况不仅仅出现在我们常见的项目代码中,甚至在一些基础库的引用中也出现类似情况,如:情形1:在引用socket发送网络报文中,我们常常采用如下头文件引用:#include <socket.h>#include <netinet/in.h>#include <...

2020-03-06 17:16:03 252

转载 linux raw socket

问题背景:公司原来为了搜索局域网内的网络视频解码器开发了一个Decoder Finder,用的是UDP广播的方式。现在韩国的客户发现当IP地址和PC不在同一网段时,无法搜索到decoder,人家还找了一个他们的软件,暴强,就算是IP地址全是0,照搜不误。问题分析:PC端,其实也就是用winpcap,直接和网卡通信,把消息包发出来,并且在接受响应。这样数据包不经过IP和UDP协议栈,IP地址...

2019-09-11 16:53:08 847

原创 samba安装

一、查看系统类型,下载对应安装包 getcong LONG_BIT 64二、网易镜像上下载samba 64位安装包 http://mirrors.163.com/centos/6/os/x86_64/Packages/三、安装rpm包:rpm -ivh **.rpm 出现循环依赖,将所有的rpm一起安装即可 rpm -ivh **.rpm ***.rpm -...

2019-05-13 14:43:58 374

原创 根据ifreq&ioctl获取linux设备网卡相关信息

根据ifreq&ioctl获取linux设备网卡相关信息参考文档:struct ifreq学习和实例 == http://blog.csdn.net/gujintong1110/article/details/45530911

2019-05-09 09:32:52 237

原创 netlink

一、 用户空间与内核通信的几种方法:* system call* procfs(/proc文件系统)* sysctl(/proc/sys目录)* sysfs(/sys文件系统)* ioctl 系统调用* netlink套接字(RFC 3549) net/netlink目录- af_netlink.c- af_netlink.h- genetlink.c...

2019-05-09 09:14:04 2607

原创 动态路由&策略路由

Zebra ——优秀的开源 TCP/IP 路由软件: http://blog.csdn.net/dadoneo/article/details/8550279

2019-05-09 09:01:48 848

原创 动态ICIC

处于交叠区的中心UE,作为边缘UE处理,并通过上行动态ICIC技术(R8\R9)。上行动态ICIC技术是通过X2接口传送高干扰指示HII和过载指示OI信息。高干扰指示HII:指出分配给边缘用户的可能会造成较大干扰的PRB,通过资源调度避免碰撞,减少干扰。过载指示OI:OI用于指出那些已经受到较大干扰的PRB,防止其再被分配给边缘用户。OI和HII都是事件触发,触发主要基于HII门限和OI门...

2019-05-09 09:00:41 521

原创 python应用于网络通信

项目需要用到采用python实现维护测试工具,测试对象是Linux设备,需要在PC端采用python获取Linux设备相关信息一、采用udp获取普通信息udpserver = socket(AF_INET, SOCK_DGRAM)udpserver.bind(ip, port)data, client_addr = udpserver.recvfrom(BUFSIZE)二、采用t...

2019-05-08 14:54:31 595

原创 C语言编程规范----高端版

度娘的C语言编程规范很多,大多相同,近几年的工作经验,在已有基础上增加如下规范,可以使得C语言代码更加简洁、易读、高效:编程规范:1、函数入口进行参数校验,小概率事件优先检查以不影响主流程处理,防止出现多层嵌套2、变量申请统一放在函数开头3、超过5个以上条件判断,采用表驱动实现3、函数主要功能部分占函数的80%,日志、命令行记录最多占20%模块设计:1、模块设计满足高内...

2019-05-06 17:42:24 412

原创 LTE APN详解

APN即是手机上网接入点参数。简单来讲,就是不同通信公司的代码。用的都是手机流量。网速呢,2G,3G和4G之间当然会不一样。APN即“接入点名称”,无论使用联通3G还是移动2G网络,都必须通过手机APN设置,是手机上网时必须配置的参数。中国联通的2G业务WAP浏览器中使用的APN为“UNIWAP”,3G业务WAP浏览器使用的APN为“3GWAP”;中国联通的2G上公网使用的APN为“UNINE...

2019-05-06 17:10:15 16253

原创 select使用额外注意点

1、FDSET需要在循环内部执行,因为select每执行一次,都会清空一次fd2、关于select监控多个fd时,需要使用最大fd值变量(max_fd + 1)作为select的第一个入参参考文档:select监控多个文件描述符 https://blog.csdn.net/sinat_36184075/article/details/77170996...

2019-05-06 17:08:16 166

原创 LTE鉴权、加密、完保详解

鉴权:身份认证,LTE鉴权需要UE、核心网实现双向鉴权,任何一方失败则UE无法完成接入流程加密:防止数据被窃取,对数据流、控制面(RRC信令、NAS信令)进行加密处理完保:防止数据被篡改,黑客可能不需要获取你的数据、但是会恶意破坏你的数据,完保只会对控制面进行,因为完保是对已有数据通过完保算法生成另外一个数据,会影响通信流量,如果对数据流也进行完包,对管道带宽影响很大鉴权详细流程...

2019-05-06 16:59:39 14394

原创 32位与64位系统变量长度

getconf LONG_BIT getconf是获取当前系统配置参数信息, LONG_BIT是指long类型变量在当前系统的长度,即long类型在32位系统,64位系统上的长度是不同的,我们也可以通过这一变量长度值确定当前系统是32位还是64位。...

2019-05-06 16:47:56 828

原创 关于dhcp协议报文中的transaction ID问题

dhcp client端发送的dhcp协议报文中均携带transaction ID,dhcp server端回复client报文时,需要携带对应的transaction ID,否则将被client丢弃。

2019-04-29 10:22:09 9801

原创 onvif协议

onvif协议是视频监控领域共同制订的一套标准,以探测同一局域网内摄像头信息。onvif开源代码:#include <stdio.h>#include <stdlib.h>#include <string.h> #include <sys/socket.h>#include <netinet/in.h>#include...

2019-04-28 17:46:05 12148

原创 cmake安装

cmake 官网(https://cmake.org/download/)下载cmake安装包,有如下两种:1、手动编译、安装的2、可执行文件可执行文件安装很简单,直接下载对应脚本运行即可,如:cmake-3.6.3-Linux-i386.sh点击运行,输入“q”--->输入“y”(同意lisence)即可,安装完成后,需要设置环境变量:export PATH=$PATH:/us...

2018-10-18 14:53:51 3539

原创 MCPTT简述

       MCPTT诞生于集群通信系统,可以说是将LTE技术应用于集群通信系统。集群通信系统:       为了满足用户指挥调度需求开发的,面向特定行业应用的专用无线通信系统。其特点是大量用户共享少量无线信道,具备快速的语音建立和抢占能力。       集群通信系统在政务、医疗、能源、交通、应急通信等领域有着广泛的应用。MCPTT:       运行在LTE网络上的全IP应用层服...

2018-10-15 14:39:01 10317

原创 Makefile简介

总流程:可执行文件生成过程: .c --&gt; .o --&gt; .exe当有多个.c时,需要进行打包处理,则:  .c(多个) --&gt; .o (多个)--&gt; .a --&gt; .exe详细步骤:1.  读入所有的Makefile。2.  读入被include的其它Makefile。3.  初始化文件中的变量。4.  推导隐晦规则,并分析所有规则。5.  为所有...

2018-09-03 16:12:41 312

原创 DHCP若干种request报文

DHCP request报文主要分成两大类型:类型一、收到offer报文后,发送request广播报文进一步确认,同时通知其他dhcp服务器已经收到租约,如下所示:类型二、在租约的0.5倍时间上,发送request单播报文续约,如下所示:如果此报文没有回复,则在0.875倍时间上,发生request广播续约。类型一、二有啥区别?dhcp server在接收到此两种类型的报文...

2018-05-14 19:47:19 13489

原创 DHCP Client有限状态机

问题:项目需要实现dhcp server功能,在测试时候,发现client端有线口每次重新接入时,均能正确分配到地址;而wife重新接入时,虽然dhcp server也回复了,但是client端wife无法识别,重复发了5此dhcp request报文,server回复了5次ack报文,也不能确认,直到下一次重新发起discover后,才成功。定位:wife重新接入时,由于wife重新发起的是...

2018-05-09 20:25:15 2559 1

原创 linux命令之显示详细日历cal

2018-05-07 17:16:29 1420 1

原创 ARP协议DPI深度解析

DPI对ARP报文进行解析(也可以借鉴open dpi?),整理ARP报文结构如下:结构ether_header定义了以太网帧首部;结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答;ether_arp结构除了包含arphdr结构外,还包含源主机和目的主机的地址。定义以太网首部:typedef struct ehhdr{ unsig...

2018-05-07 15:08:28 1232 1

原创 windows、linux开机四大协议

1、DHCP :获取本设备IP地址,同时获取网关IP、DNS服务器IP地址2、ARP    :向网关设备获取网关的MAC地址3、DNS    :  向DNS服务器请求www.baidu.com的IP地址  4、HTTP   :  获取并显示www.baidu.com中网页内容...

2018-05-07 14:55:31 413

原创 linux虚拟网络:ip netns

linux虚拟网络:ip netns命令可以在一台linux服务器上搭建很多虚拟空间,这些独立的空间拥有自己的网络结构 两个独立的虚拟空间可以通过桥接的方式进行通信,两个peer网卡加载到同一个桥上:配置完成后,需要打开虚拟网络空间的ip转发功能,以实现模拟路由器转发:echo 1 &gt; /proc/sys/net/ipv4/ip_forward...

2018-05-07 14:47:20 1275

转载 Linux kernel list使用

Linux kernel中的list怎么使用: https://www.cnblogs.com/hwy89289709/p/6754300.html

2018-05-07 14:31:05 408

原创 linux系统vlan配置---vconfig

linux系统vlan配置---vconfig

2018-05-07 14:27:14 2713

原创 ipset对iptables的扩展

ipset对iptables的扩展,使得linux防火墙配置更加灵活,易用

2018-05-07 14:18:28 675

原创 linux vxlan

今天关注了大神的一篇博客,强大的linux系统已经支持vxlan了,配置方法同其他linux vpn配置

2018-05-07 14:17:10 435

原创 insmod 与 modprobe 的差异

insmod 与 modprobe均进行内核的模块的加载,modprobe可以自动搜索、加载链接

2018-05-07 14:15:22 446

原创 linux网络用户态与内核态接口:ioctl、netlink

如下代码应用ioctl实现读取eth2接口的ip、mac地址:netlink同样可以,即netlink socket即可,详情见百度:

2018-05-07 14:12:50 1624

原创 日志文件大小限定

#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;stdlib.h&gt;#include &lt;unistd.h&gt;   //getpid#include "time.h"#include "stdarg.h"#include "syslog.h"#define LOG_FILE_NAME

2018-04-24 15:36:03 2959

原创 linux 防火墙-iptables-netfilter

iptables : 对ip层报文进行改写ebtables: 对二层报文进行改写详解(1):入门简介1、iptables(包括netfilter)组成Linux平台下的包过滤防火墙,且是免费的,可以代替昂贵的商业防火墙解决方案,完成包过滤、封包重定向、NAT等功能2、iptables主要对 5链(PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING)、      ...

2018-04-11 11:01:01 390

原创 PDU与SDU

SDU:服务数据单元,是从高层协议来的信息单元传送到低层协议。第N层服务数据单元SDU,和上一层的协议数据单元(PDU)是一一对应的。进入每个子层未被处理的数据称为服务数据单元(SDU),经过子层处理后形成特定格式的数据被称为协议数据单元(PDU)。同时,本层形成的PDU即为下一层的SDU。根据协议数据单元的数据的不同,送到接收端的指定层。PDU(N) = SDU(N - 1)   SDU(N) ...

2018-04-09 09:52:35 3523

原创 IP分片

IP分片浅析在TCP/IP分层中,数据链路层用MTU(Maximum Transmission Unit,最大传输单元)来限制所能传输的数据包大小,MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头,如以太网的MTU为1500字节,实际上数据帧的最大长度为1512字节,其中以太网数据帧的帧头为12字节。当发送的IP数据报的大小超过了MTU时,IP层就需要对数据进行分片,否则数据将无法发...

2017-11-03 10:57:21 607

原创 大端&小端&网络序&主机序&比特序&位域

Little endian:  将低序字节存储在起始地址 Big endian:     将高序字节存储在起始地址 例子:在内存中双字0x01020304(DWORD)的存储方式 内存地址(注:内存地址从左到右为由低到高)     4000 4001 4002 4003 LE  04   03   02   01     --- 符合人的思维,低值存放于低地址,高值存放于高

2017-10-24 10:27:24 523

原创 NAS介绍

术语: IMSI:        国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。总长度不超过  15 位,使用0~9的数字。由MCC+MNC+MSIN构成,其中:        MCC:国家代号,占3位数字,中国的MCC规定为460。  ...

2017-09-27 13:54:54 8374

获取最长字符串

输入一个字符串,编写一个函数,获取该函数中的最长不重复字符串,如输入"abcbecabcda",输出"abc"

2014-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除