zoukankan      html  css  js  c++  java
  • FMS (端口问题)如何穿透防火墙

     

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

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

    首先明确关系:

    • RTMP (默认端口:1935)
    • RTMPT ( http 隧道 - 默认端口: 80)
    • RTMPS ( https 隧道- 默认端口: 443)
    • nc.connect( "rtmp://127.0.0.1:1935/myapp");
    • nc.connect( "rtmpt://127.0.0.1:80/myapp");
    • nc.connect( "rtmps://127.0.0.1:443/myapp");

    rtmps用得很少。。。

    连接为难题:
    fms_nc.connect("rtmp://127.0.0.1/test"); 
    这行代码会自动尝试RTMP:1935 以及 RTMPT:80 两种连接方式。
    如果你想提高效率,指定端口来连接,那么就这样写:
    fms_nc.connect("rtmp://127.0.0.1:1935/test"); 这样他不会再尝试其他端口。说明:127.0.0.1是本地网关地址

    当然你会问如果要改成其他端口,在哪里可以更改:
    X(c/d..):Program FilesMacromediaFlash Media Server 2conf\_defaultRoot_Adaptor.xml
    第42行:
    修改为:<HostPort>:1935,443,8080</HostPort>或者你想要的:<HostPort>:8080,80</HostPort>
    如果你的server有多个ip:
    <HostPort>XXX.XXX.XXX.XXX:1935, 443, 80</HostPort>
    然后重启FMS(先stop,再start),如果你的iis或者web站点占用了80,那么会报错,更改端口为空闲的端口。

    协议:
    rtmp 全名为:real time message protocol
    如果rtmp的连接方式失败(通常是防火墙阻止了该协议),那么flash可以使用rtmpt协议来建立
    HTTP tunneling.
    fms_nc.connect("rtmpt://ip/test") 
    就可以连接成功了。


    若防火墙关闭了1935,只允许80端口。那么此时你需要这么写: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刷新页面。

  • 相关阅读:
    记录一个Heisenbug!
    MATLAB(一):矩阵基本操作
    MATLAB基础(三):MATLAB基本运算与字符串处理
    MATLAB基础(二):变量与矩阵
    MATLAB基础(一):简介及数值数据特点与常用数学函数
    用位运算实现四则运算
    指针:C语言二级指针与二维数组
    单片机基础(八):单片机串行口结构与工作方式及应用
    单片机基础(七):串行通信概念及其工作原理
    单片机基础(六):单片机定时/控制器的控制接口
  • 原文地址:https://www.cnblogs.com/ustcyc/p/3587642.html
Copyright © 2011-2022 走看看