- 博客(64)
- 资源 (7)
- 收藏
- 关注
原创 Windows + Git + TortoiseGit + Github
Windows + Git + TortoiseGit + Github
2023-09-30 03:01:08 1127
转载 TCP 的三次握手、四次挥手、TIME_WAIT、CLOSE_WAIT等详解
疑症(1)TCP 的三次握手、四次挥手下面两图大家再熟悉不过了,TCP 的三次握手和四次挥手见下面左边的”TCP 建立连接”、”TCP 数据传送”、”TCP 断开连接”时序图和右边的”TCP 协议状态机” 。要弄清 TCP 建立连接需要几次交互才行,我们需要弄清建立连接进行初始化的目标是什么。TCP 进行握手初始化一个连接的目标是:分配资源、初始化序列号(通知 peer 对端我的初始序列号是多少),知道初始化连接的目标,那么要达成这个目标的过程就简单了,握手过程可以简化为下面的四次交互:
2022-02-19 14:02:20 2623 1
转载 Linux 一个网卡添加多个IP
在Linux系统下面,第一块网卡就叫eth0,第二块网卡就叫eth1,这里我们给第一块网卡设置多个IP,也即添加多个子网卡,如eth0:0、eth1:1这种网络接口,LINUX最多可以支持255个IP子网卡。一、使用命令临时添加ip1)查看一下eth0配置:ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:0C:D1:64 ...
2019-12-03 17:52:51 439
转载 VLAN和子网划分详解
一、先来一发VLAN的详细介绍,转自http://network.51cto.com/art/201409/450885_all.htmVLAN翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络,也就是广播域。为什么需要VLAN1. 什么是VLAN?VLAN(Virtua...
2019-11-07 00:16:57 5562 1
转载 win7 mount到Linux下无法分配内存的问题(Cannot allocate memory)
方法一当通过mount.cifs命令对windows下的文件进行映射时,若文件太大,便会产生这种错误,解决方法是: 修改注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\IRPStackSize项的值大于等于15,若IRPStackSize项不存在,就新建一个DWORD值...
2019-07-15 17:04:56 2359
转载 H265视频封装成RTP
本篇介绍一下H265怎么打包RTP,在H265中,每一个前缀码00000001后面跟随的前两个字节为NALU的语法元素,总体结构如下这两个字节字段分布如下,F(forbidden_zero_bit)通常为0,LayId(nuh_layer_id)通常为0,Tid(nuh_temporal_id_plus1)通常为1,所以对一段码流来说第二字节通常都是1。1. 当收到NALU单元长...
2019-07-10 17:19:24 3073 1
转载 C++ 虚函数表详解
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数...
2019-06-28 21:08:26 654
转载 VSCODE 查找引用显示没有结果 解决方案
在开源软件VSCODE中,一般会安装扩展插件,提高工作效率。特别是C/C++一般这几个是必须的:1)C/C++2)C++ Intellisense其中:C++ Intellisense插件需要GNU Global的支持,这是一个类似CTag的,能够创建用于实现索引和自动补全功能所需的Tag的程序。所以在没安装GUN GLOBAL之前还不能够实现查找引用的功能。解决办法:1,...
2019-05-24 22:33:55 22676 2
转载 编译ACE6.2.0(centos6.7)
系统:CentOS 6.764位ACE版本:6.2.0假定压缩文件目录为:~/Software/ACE_wrappers(这个路径非常重要必须和下面匹配)一:解压下载好的ACE-6.2.0.tar.gz# tar zxvf ACE-6.2.0.tar.gz出现一个名为:ACE_wrappers的文件夹二:定义环境变量:修改/etc/profile 或者 /etc...
2019-05-07 18:09:11 592 1
转载 GBT28181开发:SIP协议实践 之PTZ指令详解
点击后会生成相应的XML,比如: [plain] view plain copy<?xml version="1.0"?> <Control> <CmdType>DeviceControl</CmdType> <SN>11</SN> <DeviceID>3
2019-02-19 17:05:09 2157
转载 Linux 进程间通信(共享内存或消息队列等查看、删除)- IPCS/IPCRM命令详解
在使用共享内存的程序异常退出时,由于没有释放掉共享内存,在调试时会出现错误。您可以使用shell命令来查看与释放已经分配的共享内存,下面将详细说明如何进行查看和释放分配的共享内存的方法。预备知识Linux中通过API函数shmget创建的共享内存一般都是在程序中使用shmctl来释放的,但是有时为了调试程序,开发人员可能通过Ctrl + C或kill等方式发送中断信号来结束程序,此时程序申...
2019-01-30 20:06:03 1861
转载 linux系统内核UDP丢包原因分析
1、UDP校验和错误现象:可以用netstat -su 查看到有UDP错包。tcpdump捕包,在wireshark打开捕获的udp报文,开启校验和选项,若有错包。方案:查找链路故障。2、防火墙开启现象:特定端口的包收不到方案:使用service iptables stop关闭,7.0以上的CentOS和Redhat 使用service firewalld stop。3...
2019-01-25 18:04:14 823
转载 C++中private、public、protected修饰符访问权限问题
今天发现有这样两句话: 1. 基类的保护成员对于派生类的成员是可访问的。 2. 派生类的成员只能通过派生类对象访问基类的保护成员,派生类对一个基类对象中的受保护成员没有访问权限。这两句话看的太头晕了,其实作者应该是想表达:只有在派生类中才可以通过派生类对象访问基类的protected成员。看这样的代码:class Base{public: Base();private:...
2019-01-17 15:18:24 844
转载 算数转化之float的范围和int之间的关系
算数转化之float的范围和int之间的关系转载:http://www.cnblogs.com/luguo3000/p/3719651.html int与float是我们每天编程都用的两种类型,但是我们真的足够了解它们吗。昨天在博客园看到一个比较老的笑话: “昨天晚上下班回家,一民警迎面巡逻而来。突然对我大喊:站住!民警:int 类型占几个字节? 我:4 个。 民警:你可以走了。 ...
2018-12-13 23:53:46 1552
原创 gdb watch断点 详解
watch 硬件断点笔记给变量打watch断点的时候 注意作用域,不管有没有改变,只要出了作用域后就会被断住给地址打watch断点的时候 1.不要用基于变量转换成的地址(否则出了作用域函数什么的会被断住),要先p命令打印出来地址 然后*($1)或*(0x123456)这样watch断点 2.如果该...
2018-12-03 12:20:46 2021
转载 C语言结构体的大小 — — 内存对齐和位域
C语言结构体对齐C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?结合网上的资料和自己的编程实践,总结如下。首先考虑一个问题,为什么要设计内存对齐的处理方式呢?如果体系结构是不对齐的,成员将会一个挨一个存储,显...
2018-11-26 22:14:41 320
转载 epoll 水平触发 边缘触发
转自:https://www.cnblogs.com/my_life/articles/5382399.htmlhttp://www.cnblogs.com/zhiranok/p/linux_epoll.htmlEpoll的LT模式和ET模式的比较 先简单比较一下level trigger 和 edge trigger 模式的不同。LT模式的特点是: 若数据可...
2018-10-09 19:36:49 2341
转载 epoll的EPOLLIN和EPOLLOU为什么不能同时关联
转自:http://blog.51cto.com/laokaddk/791945epoll的EPOLLIN和EPOLLOU为什么不能同时关联那么在操作EPOLLIN时,发生的发送数据操作会不会响应?在操作EPOLLOUT时,客户机发送的来的数据会不会丢失? =================================================...
2018-10-09 19:32:43 1403 1
转载 Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻
Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻ET模式称为边缘触发模式,顾名思义,不到边缘情况,是死都不会触发的。EPOLLOUT事件:EPOLLOUT事件只有在连接时触发一次,表示可写,其他时候想要触发,那你要先准备好下面条件:1.某次write,写满了发送缓冲区,返回错误码为EAGAIN。2.对端读取了一些数据,又重新可写了,此时会触发EPOLLOUT。...
2018-10-09 19:30:26 1466
转载 tcp粘包,udp不粘包
有关TCP和UDP 粘包 消息保护边界在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科...
2018-09-30 15:42:43 654
原创 C / C++ 左移 右移 剖析
C / C++ 左移(<<) 右移(>>) 剖析例子1 : char a = 0xF0; int b = (int)a; int c = 0xFFFFFFFF; int d = c &l...
2018-08-18 14:18:26 1137
转载 C语言常见错误中英文对照表
C语言常见错误中英文对照表 fatal error C1003: error count exceeds number; stopping compilation 中文对照:错误太多,停止编译 分析:修改之前的错误,再次编译 fatal error C1004: unexp...
2018-08-16 13:19:45 2476
转载 大小端对比特位的影响
上一篇文章讲解了带位域的结构体,在从大端机(Big Endian)传输到小端机(Little Endian)后如何解析位域值。下面继续深入详解字节序,以及位域存储的方式。 (1) 我们知道,存储数字时,对小端机而言,数字的低位,存在低地址,高位存在高地址。大端机正相反。 (2) 读取的方式,也是一样的。对于小端机,读出的低地址位作为数字的低位。 (3) 此外Big-Endian/Little-En...
2018-06-23 21:35:19 1864 1
转载 比特序和字节序
软件和硬件工程师不得不处理字节及比特序问题,这个过程就像走迷宫。尽管最终我们能够走出来,但我们往往筋疲力尽。本文尝试对字节和比特序发挥影响力的领域,包括CPU,总线,设备及网络协议进行总结。我们深入细节期望对这个主题给出清晰的说明。同时,本文尽力从实际应用的角度给出指导和规则。字节序:大小端问题我们也许知道字的大小端问题。1980年,Danny Cohen提出了此问题。它描述的是如何在计算机系统中...
2018-06-23 21:16:10 445
转载 大小端-------位域
听到好几个朋友说到去一些公司做面试,总是遇到关于大小端、位段(或者叫位域)和内存对齐的考题,然后就不知所措了。虽然我认为很多开发根本就用不到这个,但是我认为很有必要学习理解这些知识点,因为它可以让你更了解C++的,了解程序在内存的运行情况,也能加深对计算机系统的理解。 声明:由于本文的代码会受到计算机环境的影响,故在此说明本篇博文中的程序的运行环境。 1、Micros...
2018-06-22 22:54:56 664
转载 大小端 -- 字符串
小端字节序和大端字节序中,区别在于地地址存低位还是高位的区别,字节序中的低位和高位仅针对大于1个字节的组合内存空间(自己定义的名词,就是值的大小是要多个内存单元组合而成,比如int是4个字节(32位或64位上),那么int类型的值就要4个内存单元组合得到)。内存的单位是字节,对于字符来说,char是1个字节,不受主机字节序和网络字节序的影响,在内存中就一个单元,没有前后之分。但是当是组合内存空间时...
2018-06-22 22:35:28 5990 1
转载 dll 导出函数名的那些事
经常使用VC6的Dependency查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导致不同的原因大多是和编译DLL时候指定DLL导出函数的界定符有关系。 VC++支持两种语言:即C/C++,这也是造成DLL导出函数差异的根源我们用VS2008新建个DLL工程,工程名为“TestDLL”把默认的源文件后缀 .CPP改为.C(C文件)输入测试代码如下:01...
2018-06-13 15:58:48 404
转载 Linux 配置路由(策略路由) 五
前言一般在多网卡的网络访问关系中我们通常根据目标IP地址段来添加静态路由表,在主机系统配置层面这个需求一般都比较简单也不需要使用非常复杂的命令,说实话如果不是因为开发测试中心同事@谢恒的乱入启发,我也不会发现还有策略路由这样一种灵活通用的配置方法来实现Linux多网卡多路由的设定,灰常感谢。rt_tables是一种更加简单灵活的策略路由实现方法更新记录2015年12月18日 -...
2018-06-08 14:19:38 498
转载 Linux 配置路由(策略路由) 四
#编辑rt_tablesecho "192 net_192 " >> /etc/iproute2/rt_tablesecho "196 net_196 " >> /etc/iproute2/rt_tables#清空net_192路由表ip route flush table net_192# 添加一个路由规则到 net_192 表,这条规则是 net_192 ...
2018-06-08 14:15:45 301
转载 Linux 配置路由(策略路由) 三
ip route 只是基于目的地址的路由选择ip rule 路由策略,控制路由选择,可根据源地址,源IP等进行路由选择 路由策略由选择符合操作组成ip rule add 添加策略ip rule delete 删除策略ip rule show 显示策略使用路由策略可以更好的控制路由走向,类似于cisco下的 route map 下面一个例子显示了使用路由策...
2018-06-08 14:13:56 1388
转载 Linux 配置路由(策略路由) 二
Linux 基于策略的路由(Linux Policy Routing)Linux 有传统的基于数据包目的地址的路由算法,和新的基于策略的路由算法新算法优点:支持多个路由表,支持按数据报属性(源地址、目的地址、协议、端口、数据包大小、内容等)选择不同路由表# 查看规则命令,后面可跟其它参数,默认为 show(list) 显示全部ip rule系统默认有3条记录0: from al...
2018-06-08 14:12:59 889
转载 Linux 配置路由 一
linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 192.168.0.1删除路由route del -net 192.168.0.0/24 gw 192.168.0.1add 增加路由del 删除路由-net 设置到某个网段的路由-h...
2018-06-08 14:11:10 962
opencv 3.4.X 编译 ffmpeg和ippicv相关资源
2019-10-30
source insight 4.0破解版
2018-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人