我写了一个h.323客户端,但是不能穿透NAT,有没有解决办法? 我测试过另外一个h.323客户端,能够直接穿透NAT,不需要另外设置gk服务器和附加设备,估计没用STUN,他好像只是改了一点OpenOpenh323协议栈。有哪位大虾解决过这问题?是否可以指点一下,不胜感谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 常用的H.323穿透NAT/防火墙的办法有三种,即增加代理(Proxy)、升级防火墙和增加具有H.323ALG功能的多媒体业务网关。 1.增加代理(Proxy) 增加代理是指在终端与防火墙之间增加一种特殊类型的网关,使终端的呼叫过程看起来像被分成两个部分,私网终端到代理和代理到公网终端。代理通过这个呼叫过程进行中转解决了NAT问题。 2.升级防火墙 升级防火墙是指将传统防火墙升级为具有H.323ALG功能的防火墙。ALG(ApplicationLevelGateway)是应用层网关,是NAT或防火墙上的附加功能,它能识别应用层中的信令,然后通知NAT或防火墙在适当的时间建立适当的映射,并按照映射后的地址修改消息中的相应参数,ALG还须通知NAT或防火墙在适当的时间取消适当的映射。 3.增加具有H.323ALG功能的多媒体网关 增加具有H.323ALG功能的多媒体网关与升级防火墙的方法类似,只不过其不用升级防火墙,而是在原有的普通防火墙的基础上增加专门的具有H.323ALG功能的多媒体业务网关设备。 我上面都说了,不增加设备,不更改服务器(现在用的是GNUGK),上面的解决方法似乎有点违背题意,不过,还是要谢谢你。 可能用驱动改了协议底层吧,就象VNNhttp://www.vnn.cn/cn/develope.html 用udp穿越NAT其实也是要个中转服务器做一次消息传递。你可以参考这种方法:NAT后面的设备之间直接建立连接的方法:中文翻译见:http://www.donews.net/zwell/archive/2004/07/21/46653.aspx原文:http://www.andrew.cmu.edu/user/ggw/WBFD.pdfhttp://blog.csdn.net/xfreedom/archive/2004/09/20/110159.aspx H.323不增加代理直接穿透NAT是不可能的。我不知道你所测试的是那种客户端,我也不清楚你的网络应用环境。如果它确实直接穿透了NAT,一定是用了某种与代理相关的机制。只是你没有发现而已。改H.323协议栈就更不现实了,除非你不和别人的终端互通。 想问问楼主是如何测试能穿NAT的客户端的!! 我的测试很简单,在不同局域网能打通或者看看gk的log就知道了,呵呵 楼上的这几天刚接触h.323,下一步工作可能会要用到gk,都在一步一步了解中,我只是知道有这么个东西,具体还没研究过。 vc怎么和ie交互啊 VC ado access 修改表名? 关于在对话框中显示BMP文件的问题? 如何检测打印机目前的任务,打印了多少页 杀毒需要什么基础 请教关于MDI的一些问题: svchost.exe内存占用 Unicode的问题???? 怎么在线程中发消息给主线程??我用::PostMessage(HWND,...)怎么主线程接收不到?? 何谓“c++八大高手?” 高手们请帮忙!! 使用Ado进行Accsess数据库编程 用DataGrid和 Ado Data控件连进两个表 ,如何实现两个表中的相关项的联系啊
http://www.vnn.cn/cn/develope.html
NAT后面的设备之间直接建立连接的方法:
中文翻译见:http://www.donews.net/zwell/archive/2004/07/21/46653.aspx原文:http://www.andrew.cmu.edu/user/ggw/WBFD.pdf
http://blog.csdn.net/xfreedom/archive/2004/09/20/110159.aspx
我不知道你所测试的是那种客户端,我也不清楚你的网络应用环境。如果它确实直接穿透了NAT,一定是用了某种与代理相关的机制。只是你没有发现而已。改H.323协议栈就更不现实了,除非你不和别人的终端互通。
这几天刚接触h.323,下一步工作可能会要用到gk,都在一步一步了解中,我只是知道有这么个东西,具体还没研究过。