自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Season@HangZhou 专栏

Working on Linux. http://blog.csdn.net/season_hangzhou

  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 wireshark学习随手记

一、基本语法。a)        ip.src == 192.168.0.2 && ip.dst == 192.168.0.3。红色部分可以是&&、||、! 等(或相应的英文:and、or、not)。  二、针对协议的过滤  (1)仅仅需要捕获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可。               表达式为:http  (2)需要捕获多

2014-03-24 16:35:11 1110

转载 epoll使用详解

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __

2014-03-20 16:36:46 525

原创 多进程和多线程的优劣

测试结果证明线程更易于编程,其主要原因是线程共享相同的地址空间,使得线程间的通信和同步都要易于进程。创建或终止线程所要做的工作都要少于创建进程的相关工作,而且速度也要快于进程。那为什么还有使用进程呢?首先,进程有自己的地址空间,可以有效的提供安全性和隔离性,阻止流氓进程的干扰。其次,线程所能使用的打开的文件数目受限于一个进程能拥有的打开的文件数目。这使得使用进程

2014-03-19 15:30:31 759

转载 poll使用

poll()函数:这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,下面是这个函数的声明:#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);参数说明:fds:是一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符;每当调用这

2014-03-18 18:05:05 678

转载 C++面试题锦集

1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之

2014-03-17 14:26:10 1634

转载 Epoll模型详解

Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后    首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是1024,搜

2014-03-13 19:46:31 984

转载 利用ffmpeg在服务器端合成视频

最近在做一个手机app的后端,这个手机app有安卓和ios两个版本主要面向的是国外用户。app名字就不透露了,国内外加起来有几十万的下载量。这个手机app有一项功能是需要将app录制的声音加上几幅图片合成视频,然后上传到facebook网站上分享给好友观看。本来这个功能是不需要后端介入的,因为手机上可以自己生成视频并且搞定上传就可以了。但由于: 1 android手机需要引入第三方的开源库ffmp

2014-03-11 20:21:26 1972

转载 RTP封装h264

网络抽象层单元类型 (NALU):NALU头由一个字节组成,它的语法如下:      +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+-+      |F|NRI|  Type   |      +---------------+F: 1个比特.  forbidden_zero_b

2014-03-11 10:53:06 909

原创 解析RTP流for mpeg4

#include #include #include #include #include #include #include #include #include #define Printval(x) \ printf("[%s][%s:%d]:%s=%d\n", __FILE__, __FUNCTION__, __LINE__, #x, (int)x)typedef c

2014-03-11 09:44:15 2117

转载 linux网络编程之-----多播(组播)编程(转)

什么是多播       单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。   多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收发的时候其数据仅

2014-03-05 16:13:42 1102

原创 对于位域在结构体中的比特序

对于小端系统来说,用结构体表示位域,其排在前面的占字节的低端,排在后面的占字节序的低端。例:对应结构体为:typedef struct tagRTP_HEAD_S{    UINT8  cc:4; /* CSRC count */    UINT8  x:1; /* header extension flag */    UINT8  p:1; /* paddi

2014-03-03 12:20:19 1685

转载 CString.Format大全 格式化时间戳等无符号整数

在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。  先看看Format用于转换的格式字符:  %c    

2014-03-03 11:01:53 6865

ONVIF2.0中文协议原版(word).pdf

ONVIF 的目标是为了实现完全标准化的、可互操作性的网络视频服务,即使是由不同的 网络视频供应商组成的产品。规范描述了网络视频模型,接口,数据类型和数据交换模式。 规范使用了那些已经存在的的相关标准,并同时根据视频网络服务添加制定了一些必要的新 规范。

2020-06-10

flv二进制数据解析工具(FlvParse)-已包含齐全的动态库

【该资源在win7——64位系统下验证通过。win10系统试试用win7兼容方式打开】 解析flv二进制数据的小工具,tag header tag data等都分析出来了的 这个工具的主要功能是查看FLV的文件结构,帮助我们理解FLV格式。另外,如果涉及到处理flv文件的开发,这个工具对于查看处理结果非常有帮助。因此我觉得有必要写一个使用说明,希望这个工具能够给大家提供帮助。 打开后的界面如下图所示。 先说一下界面布局:左上方是FLV文件的结构树,右边是FLV文件的字节流数据;左侧结构树下面依次是结构树的信息等级选择、高速模式选择、文件分析用时及进度条等;下方是分析文件的地址显示以及文件选择按钮。下面详细介绍一下相关部分。 结构树及信息等级 FLV结构树是这个工具最重要的显示信息,用户可以直观的查看当前FLV文件的结构。FLVParse默认FLV文件结构树的形式为:File Header + Metadata Tag(1个) + Video or Audio Tags(按顺序)。 结构树的信息详细程度是按等级划分的,之所以要分等级,是为了区分显示信息的详细程度,因为不同程度的分析对于分析所用的时间影响是比较大的(主要在UI界面上),越详细的信息等级占用分析时间越长。一共有6个等级,按从简单到详细介绍如下。 only section position info —— 只有每个section的位置信息,如下图所示。其中每个section后的方括号里是位置信息(十六进制表示),每个“Pre Tag Size”后面的数字表示size的大小(十进制表示),Video&Audio Tag按照在文件中的顺序依次排序标号; file header info, metadata info —— 只有File Header + Metadata Tag的详细信息,如下图所示。其中File Header的详细结构信息会在子树中列出,并在每项后面标示该项的值;Metadata Tag类似,包含Tag Header和Tag Data两个子树,并且对应子项的详细信息也都列出; file header info, metadata info, tag position info —— 包含File Header + Metadata Tag的详细信息,Video&Audio Tags的位置信息,以及Pre Tag Size信息,如下图所示; file header info, metadata info, tag section position info —— 比上个等级多出Video&Audio Tags的Tag Header和Tag Data的位置信息,如下图所示; file header info, metadata info, tag header info —— 比上个等级多出Tag Header的详细子项信息,如下图所示; file header info, metadata info, tag info —— 比上个等级多出Tag Data的详细子项信息,如下图所示。 FLV字节流数据显示 右侧显示了FLV文件的数据,可以让用户方便地查询对应位置上的字节。每一行都以一个十六进制的位置开始,该位置为相对于文件开头的位置。每一行有十六个字节,每个字节按高4位和第4位显示2个十六进制的字符,用户可以滑动滚动条查看任意位置的字节。 当用户选中左边结构树中的某项时,右边数据会自动选中对应的数据区域(绿色),根据不同项的类型,选中的区域大小也会自动对应。 高速模式 这个选项是为了解决分析比较大的FLV文件时,用户等待时间过长的问题。 普通模式时,分析过程为阻塞模式,即主线程分析完毕后刷新界面,用户才可以继续操作。 高速模式时,为非阻塞模式,主线程分析一小部分后立即返回刷新界面,响应用户操作;另外一个线程会继续分析剩余大部分文件,直到分析完毕自动结束线程。因此高速模式时,用户会看到结构树的滚动条一直在滑动,这是因为后台分析线程在不断向结构树里添加子项。需要注意的是,当后台分析线程还没有结束,如果用户打开新的文件进行分析,有可能出现错误的分析结果。这个目前没有进行测试,我想应该是这样的。 这里需要提一下,其实真正分析文件的时间并不会特别长,即使几百兆的文件,几十秒内应该没有问题,时间主要消耗在MFC的树型控件CTreeCtrl上。为了开发效率,FLVParse使用了MFC控件,但是CTreeCtrl在结构比较复杂,子项比较多的时候,效率会出现比较大的下降。当子项超过10000的时候,再进行添加的时间大大变长,几乎到了无法忍受的程度,好在还算稳定,没有出现崩溃等现象。粗略估计,每次分析文件,花在更新UI界面上的时间要占总耗时的90%以上,而且对于越大的

2017-03-20

mii-tool-1.65.0.0.tar.gz mii-tool源码

mii-tool(这是Linux下专门设置网卡工作模式的命令)可以设置网卡工作模式,如10M全双工、半双工之类的。 MII的全称是Media Independent Interface,字面意思上就是媒体无关的接口,因此它是独立于具体设备的,仔细想想标准化的东西都是独立于具体设备的。虽然如此,很多以太网卡设备并不支持这些参数的配置,因此当你执行mii-tool的时候,会得到Operation not supported的提示,要不就是没有使用超级用户身份,还有就是若接口编号设置超过eth7时,直接使用mii-tool 不加参数,会出现NO MII xxxxxxxxxx interface 之类的提示,是因为超过了默认值,使用帮助信息可以了解。

2013-05-08

空空如也

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

TA关注的人

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