2011-04-16 105 views
1

所以我有这个问题。问题是我无法从远程客户端连接到我的red5服务器。我还没有找到关于如何安装red5的教程,以便远程客户端可以连接到它。但是,这里是我所做的...Red5从远程客户端连接问题

我的MXML Flex文件里面我尝试连接到运行服务器的计算机IP(我的服务器在Eclipse中运行)。连接线看起来像这样netConnection.connect(rtmp://192.168.2.12/myApp,true); 所有这些都是在经过很长时间之后才发生的,我只是得到了NetConnection.Connect.Failed,并且Eclipse没有输出日志。几乎就像它从来没有注册过远程客户端试图创建的连接。

另一个有趣的事情是我可以在我的本地家庭网络中使用不同的计算机连接到我的Red5服务器。但只有当它是远程时,我无法连接。

我已经改变了我Red5-web.properties文件,并将此... webapp.contextPath = /对myApp webapp.virtualHosts = *,127.0.0.1 localhost,而192.168.2.14,174.122.104.3 174其中一个是Flex Swf所在的我的网站。

我想也许不知怎么,我的电脑没有设置或配置为允许这些远程连接,并拒绝他们或什么,我不太确定为什么远程客户端无法连接。有没有人有任何idas?

非常感谢您的帮助。

回答

0

在我看来,如果你有你自己至少一个域名,你去最好的办法是建立一个Apache Http Server到您的服务器上,并创建两个RED5,RTMP和RTMPT子域。让Apache处理你的传入请求,并决定他们在那里的正确路由。

如果你不拥有一个域名,或者以前的方式太费时间来设置并使其工作,你应该确保你试图连接的IP地址不是一个内部IP。

在上例中,您尝试从客户端连接到192.168...地址。如果您尝试从您的局域网内连接它,它会起作用,因为该IP已注册到您的机器。
但是,当你把你的笔记本连接到你的邻居,并使用他的互联网连接访问你的站点并连接到red5时,客户端(flex应用程序)也将尝试连接到那个192.168...,而你的邻居的路由器不知道你的局域网,可能它没有这样的内部IP地址,但是SURELY无法连接到你的服务器。因为你有一个静态IP地址

netConnection.connect("rtmp://174.122.104.3/myApp", true); 

这将始终工作,据:

因此,而不是在连接字符串中使用192.168...,你应该尝试使用的外部IP地址(174...一个)。

还要确保您的red5服务器可通过80端口访问,或者如果不是,请在那里指定正确的端口号。

1

您可以卸载red5并重新安装。

当它询问你的服务器的IP地址类型你的服务器的LAN地址(192.168.2.*10.0.0.*什么)。这解决了我的问题。

0

对于你可以做以下的事情... 这些步骤我把和它解决了我的问题......

1.During the installation, you must have given ip 127.0.0.1 (localhost) and port :5080 
2.firstly open the port (5080 and 1935) on firewall. 

访问http://windows.microsoft.com/en-in/windows/open-port-windows-firewall#1TC=windows-7

3.Now to go red5->conf->red5.properties and open this file in notepad++. (or any other editor) 
4.repalce http.host and rtmp.host ip with your ip address (ipv4) 
5.start the red5 service. 
6.Now check http://yourip:5080 

将开始工作,而你可以从其他系统访问它(在同一网络中)显然