Skip to main content
Inspiring
March 2, 2007
Question

finally a solution to all your firewall problems

  • March 2, 2007
  • 15 replies
  • 6065 views
I finally have answer to all of you who are seeking this question.


When the Flash Player encounters the connect() method, it attempts to connect to your FCS following a very specific pattern. It first attmpts to connect over port 1935, then port 433, then port 80 and then it automatically attempts to tunnel through by sending rtmp data over http also called RTMPT it turns out the automatic sequence of attempts is fine for many situations however you may find some users can't make a connection (well , the NetConnection can't) because their firewall blocks data from traveling through port 1935. If those users can connect to any website surely they can use port 80 .And even if their setup blocks rtmp surely they can use RTMPT over port 80 because its really just plain http ...you might think the final attempt by flash player RTMPT on port 80 to be failsafe however the problem is that if you are running your webserver on the same machine as FMS then they can't both use port 80 at the same time....a perfectly legitimate solution is to use to computers one for the webserver and one for FMS ......two computers probably means you need to specify the domain in your rtmp (rtmp://mydomain.com/video).

To force the flash player to try to connect through a specific port other than the defaults as specified above.....write rtmp as ....my_nc.connect("rtmp::8500/mydomain.com/video);

FlashMX2004 by Phillip Kerman
    This topic has been closed for replies.

    15 replies

    Inspiring
    March 10, 2007
    changing my post back to orginal ...........open port 433 and 1935 if that doesn't work try one of the other solutions.



    I finally have answer to all of you who are seeking this question.


    When the Flash Player encounters the connect() method, it attempts to connect to your FCS following a very specific pattern. It first attmpts to connect over port 1935, then port 433, then port 80 and then it automatically attempts to tunnel through by sending rtmp data over http also called RTMPT it turns out the automatic sequence of attempts is fine for many situations however you may find some users can't make a connection (well , the NetConnection can't) because their firewall blocks data from traveling through port 1935. If those users can connect to any website surely they can use port 80 .And even if their setup blocks rtmp surely they can use RTMPT over port 80 because its really just plain http ...you might think the final attempt by flash player RTMPT on port 80 to be failsafe however the problem is that if you are running your webserver on the same machine as FMS then they can't both use port 80 at the same time....a perfectly legitimate solution is to use to computers one for the webserver and one for FMS ......two computers probably means you need to specify the domain in your rtmp (rtmp://mydomain.com/video).

    To force the flash player to try to connect through a specific port other than the defaults as specified above.....write rtmp as ....my_nc.connect("rtmp::8500/mydomain.com/video);

    FlashMX2004 by Phillip Kerman
    Inspiring
    March 5, 2007
    no ! udp is a connectionless protocol and doesn't check for errors and can drop packets if it encounters and error therefore adobe opted to use TCP/IP
    Inspiring
    March 10, 2007
    bump
    Participant
    March 5, 2007
    It seams to me that streaming should go over UDP not TCP. If that is theorectically true shouldn't there be a way to force FMS to go over UDP port 80, that way there is no problems. UDP will automatically maintain a keepalive by the nature of the protocol. and this would aleveate and problems with proxies or firewalls at the same time. Correct me if I am wrong.
    March 3, 2007
    I would like to add something... tunneling(port 80) don't always work : firewalls that filter on the application layer will block rtmpt communication. Proxy will certainly set to block this kind of packets(amf packets). You can see this kind of security in medium business, school, certainly in all bank and other institutions... The bad new is that you can do nothing on your side except to speak with the security guy in the organization that try to use your application and told him to lower his security setting(lol good luck...).

    Here's two good links about firewalls and proxy topic:
    http://www.adobe.com/devnet/flashcom/articles/firewalls_proxy.html
    http://www.adobe.com/go/1ccfec30


    A trick to use a web server and FMS on the same server is to attribute different public IP for each service... look in the forum this topic has been covered several times!
    Inspiring
    March 2, 2007
    The default Adaptor.xml file has port 19350 instead of port

    1935 so goto C:\Program Files\Macromedia\"Flash Media Server

    2"\conf\_defaultRoot_\adaptor.xml and change 19350 to 1935!

    Here is the line i have in adaptor.xml now:

    <HostPort name="edge1"

    ctl_channel=":1935,80">${ADAPTOR.HOSTPORT}
    </HostPort>



    remember though that a user might not connect remotely if

    they are blocking port 1935 with their firewall and your FMS

    server and webserver are both trying to use port80....I'd

    definately sniff my connection to see what ports FMS is

    actually using to connect remotely.......what you have

    posted above is definately good though ....thats what was

    wrong on my end too......i must have been blind not to have

    realized it myself!