自己的实践
文章平均质量分 70
daydayup3stones
这个作者很懒,什么都没留下…
展开
-
内外网映射环境配置
开发UPNP通用即插即用用端口映射功能,环境搭建方便大家参考原创 2015-02-27 17:52:29 · 1707 阅读 · 0 评论 -
gdb 查看变量和内存
在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:printprint /是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出,那么就是/x。一、表达式print和许多GDB的命令一样,可以接受一个表达式,转载 2015-07-15 18:07:42 · 13945 阅读 · 0 评论 -
解决互斥锁lock,报tpp.c:63: __pthread_tpp_change_priority: Assertion异常
周五,调试设备,发现起机偶尔死机,看了下死机信息: tpp.c:63: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio 跟了下代码,发现是报警模块初始化时, 调用pthread原创 2015-07-11 09:15:05 · 6763 阅读 · 1 评论 -
服务器远程预览本地设备视频, 预览多个,打不开视频流
今天,解决一个现场报回来的故障,关于sock 异常处理导致的问题。现象是设备收到服务器视频预览的命令后,给服务器传视频数据,发送失败,返回EPIPE(32)错误号;而且本地又是客户端, 正常的逻辑是本地收到服务器的close流命令后,方可关闭预览流连接。目前,由于设备端对发送返回值处理没有对errno做细节处理,没有去释放本地资源,导致资源泄露。增加一些ERRNO原创 2015-07-01 13:09:36 · 996 阅读 · 0 评论 -
tcpdump 抓包常用命令
1、tcpdump -i eth0 host xxx.xxx.xxx.xxx and tcp -w test.pcap 抓取指定网卡某一IP地址,且是TCP连接的网络包,并重定向到文件2、tcpdump -i eth0 host xxx.xxx.xxx.xxx and port XXXX -s 0 -w test.cap 抓取指定网卡某一IP地址、端口,原创 2015-06-30 14:04:32 · 1053 阅读 · 0 评论 -
堆栈、栈针
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态转载 2015-06-02 10:13:37 · 997 阅读 · 0 评论 -
C语言模块操作容器设计
typedef struct{ struct list_head list; int optionType; int (*chOption)(void *param); int (*kickoutOption)(void *param); void *param;}chTOption;typedef struct{原创 2015-04-13 16:54:01 · 409 阅读 · 0 评论 -
wireshark 使用及分析
wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包窗口:WireShark 主要分为这几个界面1. Display Filter(显示过滤器), 用于过滤2. Packet List Pane(封包列转载 2015-06-12 12:23:53 · 4465 阅读 · 0 评论 -
深入浅出TCP之send和recv
每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态。先明确一个概念:每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态。接收缓冲区把数据缓存入内转载 2015-06-17 17:14:49 · 391 阅读 · 0 评论 -
Netstat 中 Recv-Q和Send-Q状态
执行命令查看当前网络状态时候发现,执行了命令 netstat -anp发现recv-q 和 send-q 状态不是很正常,对这2个参数不了解,特意学习了一下,简单总结如下:recv-Q 表示网络接收队列表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。转载 2015-06-16 11:14:14 · 3482 阅读 · 0 评论 -
只读文件系统 squashFS
squashfs是眾多Live CD使用的檔案系統,Why?因為它那嚇死人的壓縮率,舉個例子,以筆者製做的root filesystem為例,壓縮過後的initial ram disk大小為1.3MB,但squashfs製做出來的file systemimage只有500多k,squashfs image居然只有compressed initial ram diskimage一半的容量,這種節省儲原创 2015-05-12 10:51:51 · 2067 阅读 · 0 评论 -
UPNP编程要点
UPNP编程安装SDK相对比较简单,参考阅读SDK目录下的README我使用命令如下:tar jxvf libupnp-1.6.17.tar.bz2cd libupnp-1.6.17/./configure --prefix=/home/momo/DLNA --enable-samplemakemake install这样在/home/momo/DLNA目录下就转载 2015-03-11 16:41:31 · 707 阅读 · 0 评论 -
Onvif开发之Linux下gsoap的使用及移植
一直以来都是在CSDN上面学习别人的东西,很多次想写点什么但是又无从写起。由于公司项目需要,最近一段时间在研究onvif,在网上找了很多资料,发现资料是非常多,但是很少有比较全的资料,或者资料太多无从下手。我打算从做项目开始,用CSDN博客记录我的项目笔记,同时希望能帮助到需要帮助的人,以感谢这么多年来CSDN上各位高手对我的帮助。onvif的开发从gsoap的移植开始!今天完成了gsoap的移植转载 2015-11-02 17:03:07 · 622 阅读 · 0 评论