使用openh323开发学习资料.doc

使用openh323开发学习资料.doc

ID:57087042

大小:110.50 KB

页数:47页

时间:2020-08-01

使用openh323开发学习资料.doc_第1页
使用openh323开发学习资料.doc_第2页
使用openh323开发学习资料.doc_第3页
使用openh323开发学习资料.doc_第4页
使用openh323开发学习资料.doc_第5页
资源描述:

《使用openh323开发学习资料.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、使用openh323开发精品文档pwlib是一套跨平台的C++的开发库,使基于pwlib上开发的应用能够很少量的移植就可以跑 在windows和unix的平台上. Open323是澳洲的一家公司驱动的opensource的h323协议族实现,还不够十分的完整,但 是已经是非常的难得了. 在windows上和linux下都能编译使用,我已经试过了.Windows上编译他们比较麻烦,注意 的是一定要用batchbuilding.在VC7上编译openh323的动态连接库的时候,VS.net会崩溃 ,注意避开,不过

2、也可以试试看看现象,如果能够解决,请告诉我一下. 在linux上编译就没有什么好说的了,设好两个环境变量(PWLIBDIR,OPENH323DIR),就可 以在展开的目录下编译了,先编译PWLIB,再编译OPENH323,别忘了将相应xx/lib写到/et c/ld.so.conf下.我这里可能对安装讲的不够详细,openh323讲的非常详细,大家可以去 看.以linux平台为例: 使用pwlib,在成功编译之后,到$(PWLIBDIR)/SAMPLES/ 这里是一些例子,hello_world是个非常简单的

3、工程,从这里我们可以看到如何写使用pw lib的Makefile: #Simplemakefileforthehelloworldprogram PROG=hello SOURCES=hello.cxx ifndefPWLIBDIR PWLIBDIR=$(HOME)/pwlib endif include$(PWLIBDIR)/make/ptlib.mak 关键是包含了一个ptlib.makhello.cxx #include classHello:publicPProcess { PCLASSINFO(He

4、llo,PProcess) public: voidMain(); };PCREATE_PROCESS(Hello) voidHello::Main() {收集于网络,如有侵权请联系管理员删除精品文档 cout<<"Helloworld!"; } 非常有代表性.Include$(PWLIBDIR)/make/ptlib.mak这样就可以makeall,makedebu g的之类的进行编译,需要的头文件库都会替你安排好.编译的结果就会放在obj_linux_x 86_xx,xx表示你用的是debug编译还是

5、其他,如果是debug,xx就是d.使用pwlib的程序,必然要有一个PProcess的子类,作为整个进程,这是指在console模式 下,gui模式的用PApplication这个我没有用过.Pwlib里面的类大多都是P开头,(可能是 取其兼容的意思,跨平台的特性,我瞎猜的),在进程中如果想创建新的线程就创建PThre ad子类的对象,对于这种关于过程的类,都有Main函数等待子类去实现. 在使用所有的P类的时候,注意使用两个宏,声明类的时候PCLASSINFO(Hello,PProcess) ;分号可以加

6、,也可不加.PProcess的子类的实现的时候要用PCREATE_PROCESS(Hello);,  这个东西把main()之类的系统入口封装了,由他来调用Main()成员函数.在使用线程的时 候,如果想让线程从线程的对象一创建就运行,就应该在PThread子类中的构造函数中调用 父类的Resume().关于pwlib先说这些,在使用Openh323的时候到处都会用到pwlib的东西 和概念.Openh323: 终于进入正题了,先粗略的讲点概念(多余了),H323是指协议族了,包含了很多规范,它 来自ITU,

7、应会议的需要而产生,信令相关的东西用H225H245,类似Q931,用ASN1编码后在 tcp之上传输,数据相关的就是编码解码的东西了(包括音频视频),音频g711(alaw,ulaw )了等等多了,视频h261,好像h263还没实现. 在H323的系统里进行通讯的角色实体就是Endpoint,每个Endpoint可以有很多的Connecti on,每个Endpoint也可以拥有很多的逻辑角色,这个不讨论. Endpoint在Openh323中就是类H323Endpoint的实例 Connection在Ope

8、nh323中就是H323Connection的实例 当Endpoint接收了一个远程的连接请求,Endpoint就会创建一个H323Connection; 当Endpoint发出一个连接的请求,Endpoint也会创建一个H323Connection Connection就会进入一个状态机,在各个状态中,收集于网络,如有侵权请联系管理员删除精品文档Connetcion会相应的执行相应的方法,  这些

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。