转自http://www.cnblogs.com/zhchongyao/archive/2010/01/22/1653803.html

先是管理端口,就是fms2_console文件连接到server远程管理的时候需要用到的。

首先明确关系:

  • RTMP (默认端口:)
  • RTMPT ( http 隧道 - 默认端口: )
  • RTMPS ( https 隧道- 默认端口: )
  • nc.connect( "/myapp");
  • nc.connect( "/myapp");
  • nc.connect( "/myapp");

/test"); 这样他不会再尝试其他端口。说明:127.0.0.1是本地网关地址

当然你会问如果要改成其他端口,在哪里可以更改:
X(c/d..):\Program Files\Macromedia\Flash Media Server 2\conf\_defaultRoot_\Adaptor.xml
第42行:
修改为:<HostPort>,那么会报错,更改端口为空闲的端口。

协议:
,只允许端口。那么此时你需要这么写:fms_nc.connect("rtmpt://ip:80/test")

防火墙允许1935、80端口。

服务器端我们如果可以控制,当然会尽可能的打开常用端口,当然也会允许rtmp协议。如果问题出现在客户端呢?看下图:

客户端只允许80端口,那么此时只有80端口可以连接成功。

总结:
鉴于客户端端口以及协议的不确定性,你需要准备好处理各种情况:
思路如下:
1、<HostPort>:1935,8080,80</HostPort>
2、默认使用rtmp协议以及1935、8080、80来连接,尝试2次。如果仍然failed,那么:
3、使用rtmpt协议(HTTP tunneling)来连接。
//开始
fms_nc.connect("rtmp://127.0.0.1/test"); //会自动尝试可以使用的端口
//在onStatus函数里面监测状态 如果连续两次failed,
fms_nc.connect("rtmpt://127.0.0.1:8080/test")
//结束
通过HTTP tunneling建立的连接在传输视频的时候会不稳定,所以你要时刻监测nc的状况,如果断开要自动重连,简单的办法就是通过js刷新页面。

FMS (端口问题)如何穿透防火墙的更多相关文章

  1. Linux下Tomcat端口、进程以及防火墙设置

     Linux下Tomcat端口.进程以及防火墙设置 1,查看tomcat进程: #ps -aux | grep tomcat(或者ps -ef | grep tomcat都行) 可以看到现在运行着两个 ...

  2. ICMP 隧道——将流量封装进 IMCP 的 ping 数据包中,旨在利用 ping 穿透防火墙的检测

    利用 ICMP 隧道穿透防火墙 转自:http://xiaix.me/li-yong-icmp-sui-dao-chuan-tou-fang-huo-qiang/ 以前穿透防火墙总是使用 SSH 隧道 ...

  3. 记<<ssh穿透防火墙连接内网的机器(不用路由端口映射)>>

    场景: 在家连接公司的内网服务器. 需求: 不用设置端口映射在家用putty登录公司内网服务器. 条件: 有一台公网服务器做转发,有开放端口的控制权.(公网服务器可以是阿里云ECS, 腾讯云主机这样的 ...

  4. centos7开启3306端口,liunx查看防火墙是否开启

    Can't connect to MySQL server on localhost (10061)这个就属于下面要说的情况 启动服务 systemctl start mariadb.service ...

  5. centos下添加的端口不能访问(防火墙关闭)

    最近遇到一个郁闷的问题.好几天都没解决,求助,谢谢大家. 打算开放一个端口15900.可是无论怎么设置防火墙,或者干脆关闭防火墙.就是不能被外部机器访问(在同一内网网段机器). 本机访问没有问题(12 ...

  6. Windows Server 2008 R2 修改远程桌面服务RDP默认端口及相应的防火墙配置

    修改以下两个注册表项当中的默认端口3389为自定义端口: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wd ...

  7. ssh 将22端口换为其它 防火墙设置

    废话不多说,先通过当前的SSH端口(默认为:22)登陆. 1.修改配置文件:/etc/ssh/sshd_config ,找到 #port 22 2.先将Port 22 前面的 # 号去掉,并另起一行. ...

  8. secureCRT端口转发功能突破防火墙限制

    这样一个场景:A是办公网络的一台windows主机,B是一台Linux堡垒机,C是生产环境一台Oracle主机, A只能访问B但A不能访问C,B可以访问到C,那怎样才可以使A机上的“ PLSQL De ...

  9. centos开启nginx服务成功,却无法访问。没有开启80端口。centos配置防火墙 开启80端口

    Linux配置防火墙 开启80端口 编辑配置文件/etc/sysconfig/iptables [root@weixinht ~]# vim /etc/sysconfig/iptables 1 # F ...

随机推荐

  1. android四种更新UI的方法

    笔记: // 使用handler.post(Runnable)更新UI public void updateUI_Fun1() { new Thread() { public void run() { ...

  2. Android高手进阶:Adapter深入理解与优化

    一般是针对包含多个元素的View,如ListView,GridView,ExpandableListview,的时候我们是给其设置一个Adapter.Adapter是与View之间提供数据的桥梁,也是 ...

  3. Javascript验证用户输入URL地址是否正确

    <script type="text/javascript">function checkUrl() { var url = document.getElementBy ...

  4. C#DataTable 的一些操作经常操作

    关于C# DataTable 的一些操作 经常操作DATATABLE  对于一些不需要再通过sql 来重复操作的   可以通过操作datatable来达到同样的效果 方法一: 也是广为人知的一种: Y ...

  5. UI1_ViewController视图切换及Appdelegate

    // // ThirdViewController.h // UI1_ViewController视图切换及Appdelegate // // Created by zhangxueming on 1 ...

  6. hdu 1686 Oulipo KMP匹配次数统计

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1686 分析:典型的KMP算法,统计字符串匹配的次数. 用Next数组压缩时间复杂度,要做一些修改. / ...

  7. 1 。 LightOJ 1234 打表法(数据太大,把数据缩小100倍)

    原题链接http://acm.hust.edu.cn/vjudge/contest/121397#problem/A Description In mathematics, the nth harmo ...

  8. 《C++Primer中文版》读书笔记——第1章 开始

    istream对象:cin(标准输入对象); ostream对象:cout(标准输出对象) cerr(输出错误和警告) clog(输出一般性信息) 读取数量不定的输入数据,eg , sum=; whi ...

  9. VMware虚拟机中设置端口映射(转载)

    VMware Workstation提供了两种虚拟机上网方式,一种bridge,一种NAT,bridge可以获得公网地址,而NAT只能是内网地址了. NAT相当于把主机当成了一个NAT转换器,我们可以 ...

  10. 使用FormData上传文件、图片

    关于FormData XMLHttpRequest Level 2添加了一个新的接口  ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XM ...