自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (26)
  • 收藏
  • 关注

原创 sip 协议 --PRACK

1.   概念 :   sip 协议中的PRACK 英文全称:Provisional Response ACKnowledgement      。临时恢复确认。详细描述在:RFC3262中  http://www.ietf.org/rfc/rfc3262.txt2. 目的:确保sip中  1xx  响应的可靠传输。  PRACK一般是对收到183 call in progress/1

2013-09-04 16:25:23 6219 1

原创 MFC对话框里不能响应按键事件的解决办法

我们公司是做IP电话的。有一个以前做好的模拟话机的的软件。上面有好多按钮(仿真真实话机的)。每次测试软件要点击好多次按钮。听说是用鼠标多了手会残疾。所以打算用键盘的按键代替模拟电话上的按钮。按道理说只要在窗口上映射键盘消息就行了。按键消息响应的函数有:    afx_msg void OnKeyDown (UINT nChar, UINT nRepCnt, UINT nFlags);

2013-08-16 17:49:53 13090 1

原创 MiniGUI.cfg 配置文件 路径

Minigui库首先从系统环境变量MG_CFG_PATH 获得MInigui.cfg的path。如果环境变量没有定义 从/ect中获得如果/etc中没有从/usr/local/ect下面获得定义环境变量export MG_CFG_PATH=

2013-05-17 15:18:56 2308

原创 MiniGUI 3.0 支持truetype 矢量字体问题解决

问题:研究开源Minigui-gpl-3.0.12 时遇到truetype 矢量字体显示的问题。问题解决步骤:1.调试查看Minigui-gpl-3.0.12,freetype 初始化是在 libminigui-gpl-3.0.12/src/newgdi/gdi.c 中mg_InitGDI 函数中font_InitFreetypeLibrary . 是否初始化取决于_MG_FONT

2013-05-17 11:40:44 4288 4

原创 unix 编程 共享内存总结

1.原理共享内存是IPC常用的一种形式。它的原理就是:一个进程首选调用系统调用shmget向内核申请一块内存。这时内核就维护了一个全局的共享内存的数据结构。如果一个进程要使用这块全局的数据结构。要调用shmat这个系统调用。把那块共享内存挂到自己的进程的内存空间。2.实现细节第一步:因为大家要共享一个全局的数据区域。就像几个人一块儿约会,前提是要知道这个约会的地

2013-03-20 10:30:34 871

转载 CLOSE_WAIT状态的生成原因

CLOSE_WAIT状态的生成原因首先我们知道,如果我们的Client程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是Server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:       Server  --->  FIN  --->  Client       Server      这时候Server端处于FIN_WAI

2012-07-27 16:56:42 808

原创 远程桌面超过最大连接

mstsc /v:IP /console例如:mstsc /v:192.168.1.114 /console

2012-07-13 13:48:38 474

转载 mysql 远程访问

[导读]改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"   解决方法:  1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入m

2012-06-27 16:32:26 660

转载 bash 的判断文件操作语句

-d file file存在并且是一个目录-e file file存在-f file file存在并且是普通文件-r file file有读权限-s file file存在且不为空-w file file写权限-x file file有执行权限-a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在

2012-06-26 16:06:28 3782

原创 shell 编程 重定向 read

#!/bin/bashFile=/etc/fstab  # File和等号中间不能空格Result=1.test{   read line1   read line 2} {echo "$line1"echo "$line2"} > $Result

2012-06-25 17:01:32 1198

转载 RFC2234中文翻译

网络工作组                                                 D. Crocker, Ed.请求注释: 2234                                              互联网邮件联盟类别: 标准跟踪                                                  P. Ove

2012-06-15 09:30:13 2842 1

转载 用mkfs.jffs2 命令制作jffs2镜像文件 (转)

分类: Linux Kernel 2009-11-06 11:43 2659人阅读评论(1)收藏 举报 下载:ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2或者使用命令:apt-get install mtd-utils命令使用实例:mkfs.jffs2  -s 0x1000 -e 0x40000 -p 0

2012-06-12 11:05:42 493

转载 sip payload

在SIP中需要携带媒体能力,主要是m=的参数中携带。一般格式是m=媒体类型 媒体端口 媒体原型,之后接若干个Payload ID。Payload ID需要在RFC3551中查找,典型的Payload ID是G.711 A率是8,G.711 Mu率为0,G.723为4,G.729为18,G.726_32为2。但需要注意的是G.726_32并不是RPC中定义的。这样的定义还有一部分,但很多属于约定俗成

2012-05-16 19:54:49 1489

原创 ubuntu 依赖库的应用

在利用开源项目中,往往有很多依赖。在编译链接和运行时,系统从一下三个路径去找依赖库:1.系统默认的库路径:一般是 /lib /usr/lib2.LD_LIBRARY_PATH 指定的路径3./etc/ld.so.conf  中指定的路径但是对于第三种方法,在程序编译和链接时已经足够了,在程序运行是是不行的。这时还要运行一下ldconfig . 我们在利用ubuntu的 ap

2012-03-23 13:57:30 1507

原创 ubuntu 中的 pkg-config

pkg-config 命令简介:pkg-config 是一个常用的库信息提取工具。pkg-config 工具从.pc文件中提取编译链接配置路径。pkg-config 从一个叫做PKG_CONFIG_PATH的环境变量中查找pc文件设置 环境变量命令:export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH应

2012-03-23 13:39:09 12256 1

原创 ubuntu network configer file

1. /etc/network/interfaceadd auto eth0iface eth0 inet  staticaddress 192.168.1.115netmask 255.255.255.0geteway 192.168.1.2542./etc/init.d/networking restart3.dns/etc/re

2012-03-23 11:30:03 756

原创 sip 协议学习网站

www.osip.orgwww.pjsip.orgwww.tech-invite.comhttp://www.delveintotech.com/index.htmlhttp://www.vocal.com/sip/prack.htmlwww.itef.orgwww.voip-info.org

2012-03-16 11:41:54 830

原创 sip 协议扩展

今天学习了 sip 中的replace 头域。在rfc3261中没有查到replace头域。后来从网上收索RFC3891对replace头域做了描述。还有一个sip 方法扩展就是 info。在rfc2976中。

2012-03-15 09:41:43 1345

原创 hold 功能的实现

在ip电话中实现hold功能通过再次发送INVITE (第一次发送INVITE时 to头域的tag是没有的)在SDP里面改为sendonly通过再次发送INVITE可以实现改变媒体类型等修改会话的行为。一个应该看得网站是tech-invite.com

2012-03-15 09:41:29 921

原创 error LNK2019: 无法解析的外部符号 问题原因

在vc下面build 时,尤其是build别人的代码时会出现error LNK2019: 无法解析的外部符号。这个问题是出现在链接阶段,是在编译阶段没有问题,在链接时找不到函数实现的地方。我所经历的有两种情况:1.链接时相应的库文件没有找到。解决办法是 在项目属性里加入依赖库2.自己代码的问题,可能是因为自己添加的代码未放在工程里面。

2012-03-15 09:40:39 651

原创 window 和linux 文件共享 问题

开发跨平台的应用程序时,需要两套开发环境。为了使代码能够在window和linux两个平台中同步。可以有以下方法。1.在虚拟机中用共享文件夹2.在linux用smb服务其中smb服务的使用步骤如下a.在linux中装好smbb.启动smb /etc/init.d 中启动smbc.在window开始运行中\\linux ip地址 如\\192.168.1.100,即可在win

2012-03-15 09:34:20 446

原创 3des加密没那么简单

最近做一个项目,客户端登陆服务器时要用3DES加密。对3DES加密以前只是听说过,不是很熟悉。刚开始得知这个登陆过程是要用3DES加密。其简单过程是这样的,客户端发送一个认证请求给服务器。服务器发送一段随即数字。然后着串随即数字进行加密。 于是从网上下载3DES加密的源码。为了验证加密结果是否正确,于是下载了多个版本的源码。但是结果竟然不一样。最后得知。3DES加密要知道一

2012-03-05 23:08:31 1858

原创 select总是返回

select  io 多路复用大家都很熟悉。一般是 可读,可写,有异常,或者超时时select会返回。但是当连接的对方程序退出时,select一直会返回。如果不进行处理程序会进入死循环。比如可读集中有一个sockfd,对方已经退出。select会一直返回可读。这时就应该判断一下读的字节数是否为零。如果为零证明对方已断。要消除这个sockfd。

2012-03-05 23:01:42 753

原创 结构体里的buf溢出浪费了我一天的时间

今天在做公司里的一个项目时,定义了一个业务处理接口。大致原理是这样的,实际应用比这里复杂的多,为了简单化描述struct transaction{              char rxbuf[MAX_RX_LEN];              int (*cb)();} rxbuf是从网络里接受数据的缓冲区。当要调用cb时发现cb的内容变了。经过调试发现是r

2012-03-05 22:50:32 2135

原创 怎么判断 TCP链接 是否断开了呢

今天用select IO复用时,发现  没有数据交互的情况下,select也返回(还未超时)。 查书得知,当fd在失去链接时select总是返回。并且read结果为空。那么怎么判断tcp链接是否断开呢。查质料如下: * Seems like the most portable way of detecting connect()* failure is to call getpeern

2012-03-02 13:44:45 5744

转载 如何在linux/unix中设置线程的优先级

在linux下我们可以通过int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);来创建线程,但是如何设置线程的优先级呢?在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了int pthread

2012-02-09 14:20:37 580

原创 per单引号和双引号的区别

1)单引号:single quotee.g.print'IMISSYOU"SOMUCH"';它将单引号中的内容包括Perl双引号完整输出,同时即使引号中包含了变量或标量,都将被作为字符处理,如下单引号里面可以包含双引号,并且可以包含变量。变量不取变量值。$a=5;print'$a';结果将输出$a。2)Perl双引号 double quotes如果用

2011-12-17 13:25:16 1307

翻译 kannel概述

当前有数以亿计的手机用户,以手机应用服务的市场大的令人吃惊。哪怕是很简单的一个应用,只要他对用户有用或者是好玩,它就会有很大的市场。能够随时随地的看新闻,发邮件,娱乐的功能会极大的吸引手机用户。  kannel是一个开源的无线应用协议网关。它致力于向任何人提供这种无线应用基础设施中不可缺少的一部分。无论是无线服务运营商还是个性化服务提供者都回感觉到它是非常有效的。kannle也可作

2011-12-16 11:17:53 1533

原创 Asterisk queue 和 ring group 功能的实现及测试

APBX ——Queue测试 测试Dial 'Queue number + '*'' to log in or 'Queue number + '**'' to log out the queue. For example, if the queue number is '6

2011-09-07 09:18:18 4141

原创 ERROR[5378]: res_musiconhold.c:645 monmp3thread: poll() failed: Interrupted system call

this error means the asterisk can not translation the mp3 file.after  setup the mpg123 or mpg 321 to the system ,this errro was solved.

2011-08-24 15:12:22 7189

原创 win32 listctrl 的用法

请注意 :一定要用 LVS_REPORT 风格。 使用列表控制的步骤如下:调用CreateWindowEx函数来创建一个列表控件,指定它的类名为SysListView32。您还可以在此处指定控件初次显示时的方式。 创建和初始化用在列表控件中显示项目的图

2011-08-09 17:46:46 4407

原创 mysql 插入汉字问题

在命令行中插入汉字没有问题,而在调用Mysql_query时如果插入的是汉字则Mysql返回错误。这显然是字符集设置问题 。可以通过设置GB2312 来解决。mysql_set_character_set(mysql,"gb2312"); 下面是具体的实例代码。

2011-08-08 15:02:00 877

原创 vc win32 托盘 例子

#include #define IDR_PAUSE 12#define IDR_START 13/*#include #pragma   comment(lib,   "shell32.lib") */LPCTSTR szAppName = TEXT

2011-08-05 09:54:18 881

原创 c 语言 ","号运算符的用法

在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。  假设b=2,c=7,d=5,  a1=(++b,c--,d+3);  a2=++b,c--,d+3;  对于第一行代码,有三个表达式

2011-07-30 19:04:04 1269

原创 c 语言文件操作函数

C语言的文件操作文件的基本概念  所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调

2011-07-30 09:41:36 4385

原创 sqlite 数据类型总结

一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:1.NULL:空值。2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。3.REAL:浮点数字,存储为8-byte IEEE浮点数

2011-07-29 16:11:11 574

原创 运行时 不显示对话框 只显示 对话框上面的控件

在写VC应用程序时有时候会遇到 Dialog 调用一个对话框时,不显示对话框,只显示对话框上面的控件,原因是对话框处理函数 没有返回 FALSE

2011-07-29 11:41:50 617

原创 iperf

Iperf  是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。Iperf使用方法与参数说明 参数说明-s 以server模式启动,eg:iperf -s-c

2011-07-28 09:58:57 431

原创 宽字符转为char *

DWORD dwNum = 0;char ipadd[30];dwNum = WideCharToMultiByte(CP_OEMCP,NULL,szIPAddr,-1,NULL,NULL,0,NULL);  memset(ipadd,0,sizeof(ipadd));  Wid

2011-07-27 16:21:23 610

原创 listview get subitem

int get_dialhistory(HWND h_listview,char * dial_num){ HLVITEM hItemSelected;    LVSUBITEM subitem; assert(dial_num!=NULL);    memset(dial_nu

2011-07-21 16:58:18 675

openssl-examplel.rar

以上两个文件是openssl 开发实例,一个是client代码一个是server端代码. linux gcc测试通过.要先安装openssl 库才能编译和运行.

2019-12-30

合勤802.1x配置.jpg

wifi 通过802.1x 认证,也常称为企业级认证。 AP 配置举例。 配置方法是进入web页面->wizard->next->SSID 然后参照图中选择

2019-12-30

prectical Vim vim使用技巧

vim使用技巧[美] Drew Neil 著 杨源 车文隆 译

2015-09-11

UNIX 环境高级编程

最清晰,带有书签的UNIX环境高级编程最清晰,带有书签的UNIX环境高级编程最清晰,带有书签的UNIX环境高级编程

2013-01-29

sipp 文档 教程

sipp 安装文件 sipp教程 sipp 例子 sipp文档

2013-01-29

波斯语显示方法

波斯语算法

2012-09-12

U-Boot 源代码分析之二命令处理

U-Boot 源代码分析之二命令处理

2012-06-25

mips 启动流程

mips 启动流程

2012-06-25

rfc2543中文翻译

rfc2543中文翻译

2012-06-15

shell 编程

shell 编程

2012-06-12

pjsip 开发文档

sip协议开发文档。学习开源协议栈架构. 欢迎下载

2012-03-24

RTP 学习大总结

RTP学习大总结。从原理到代码。欢迎下载。

2012-03-24

freetype 实例

用freetyp 做字模的一个例子。 在linux上编译通过。 用法是编译成可执行文件。例如文件名为example,测用法为 example 字形。 example aribi.ttf .

2012-03-20

openssl编程

openssl编程

2012-02-21

华为计算机网络笔试

华为计算机网络笔试

2012-02-21

简明Python教程

简明Python教程简明Python教程简明Python教程

2011-09-27

RTP 协议中文版

本文描述RTP(real-time transport protocol),实时传输协议。RTP在多点传送(多播)或单点传送(单播)的网络服务上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频,视频或者仿真数据。RTP没有为实时服务提供资源预留的功能,也不能保证QoS(服务质量)。数据传输功能由一个控制协议(RTCP)来扩展,通过扩展,可以用一种方式对数据传输进行监测控制,该协议(RTCP)可以升级到大型的多点传送(多播)网络,并提供最小限度的控制和鉴别功能。RTP和RTCP被设计成和下面的传输层和网络层无关。协议支持RTP标准的转换器和混合器的使用。 本文的大多数内容和旧版的RFC1889相同。在线路里传输的数据包格式没有改变,唯一的改变是使用协议的规则和控制算法。为了最小化传输,发送RTCP数据包时超过了设定的速率,而在这时,很多的参与者同时加入了一个会话,在这样的情况下,一个新加入到(用于计算的可升级的)计时器算法中的元素是最大的改变

2011-09-19

多媒体编码技术

VisualC++音视频编解码技术及实践.pdf 音频编码技术音频编码技术.doc G729中文版.pdf

2011-09-08

D-bus 学习教程

  有很多IPC(interprocess communication ) ,用于不同的解决方案:CORBA 是用于面向对象编程中复杂的 IPC 的一个强大的解决方案。DCOP 是一个较轻量级的 IPC 框架,功能较少,但是可以很好地集成到 K 桌面环境中。SOAP 和 XML-RPC 设计用于 Web 服务,因而使用 HTTP 作为其传输协议。D-BUS 设计用于桌面应用程序和 OS 通信。D-Bus(其中D原先是代表桌面“Desktop” 的意思),即:用于桌面操作系统的通信总线。现在逐渐被引入到嵌入式系统中,不过名字还是保留原先的叫法而已。

2011-07-22

vim 从入门到精通

vi/vim使用进阶: 使用taglist插件 本文介绍如何使用taglist插件(plugin)来查看程序中的标签(tag),并介绍了taglist插件的配置和用法。taglist插件利用Exuberant ctags程序生成标签文件,并提供像Source Insight那样的标签窗口,可以方便的跳转到函数、变量等标签所在的位置。 vi/vim使用进阶: 文件浏览和缓冲区浏览 本节介绍了如何在vim中浏览文件,以及如何查看当前打开的缓冲区。利用netrw插件,可以方便的在vim中浏览各个目录、打开指定文件,而不用切换到文件浏览器或shell;当然,netrw插件的作用并不仅仅局限于此。利用bufexplorer插件,则可以方便的查看打开的缓冲区(buffer),在缓冲区间进行切换。本文的最后介绍了winmanager插件,使用这个插件,可以把netrw插件、bufexplorer插件和taglist插件整合起来,使vim看起来更像一个集成开发环境(IDE). vi/vim使用进阶: lookupfile插件 如果你在开发一个大的项目,当你想在一大堆文件中查找或者编辑指定文件时,Lookupfile插件是必不可少的。使用它,可以快速查找项目文件、可以在缓冲区查找指定文件、可以浏览指定目录等。在查找时甚至可以使用正则表达式(regex),在你只记得部分文件名或目录名时,这可是救命的手段。 vi/vim使用进阶: 开启文件类型检测 vim最吸引人的一点是,它支持无穷多的文件类型,而且能够随意扩展。在本文主要介绍如何打开文件类型检测的功能,以及如何使用基于文件类型的插件(filetype plugin)。正因为有了文件类型检测的功能,我们才可能针对不同的类型的文件,定义不同的键映射(map)、设置不同的选项,进行语法高亮的染色(后续文章中介绍)…你可以实现任意你想实现的功能。

2011-07-22

RFC3261-中文版本

Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)--有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音、影像、或者文本。本SIP协议(会话初始协议)和这些协议一样,同样允许使用Internet端点(用户代理)来寻找参与者并且允许建立一个可共享的会话描述。为了能够定位精确的会话参与者,并且也为了其他的目的,SIP允许创建称为network hosts(叫做代理服务器)的基础设施,并且允许终端用户注册上去,发出会话邀请,或者发出其他请求。SIP是一个轻形的,多用途的工具,可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型。

2011-07-22

sqlite 基础教程

Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。

2011-07-22

TortoiseSVN 教程

TortoiseSVN 是Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管 理文件和目录。文件保存在中央的repository,除了能记住文件和目录的每次修改以外,版 本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知 道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看 作一种“时间机器”。某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过 精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性- 比如,对编 程语言的支持,或者提供程序构建工具。不过Subversion 并不是这样的系统;它是一个通 用系统,可以管理任何类型的文件集,包括源代码。

2011-07-22

空空如也

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

TA关注的人

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