Thanks Seth, you've explained it pretty clear. I got it - unique RTMP
port is required for each RTMP endpoint.

Robert


--- In flexcoders@yahoogroups.com, "Seth Hodgson" <[EMAIL PROTECTED]> wrote:
>
> The RTMP endpoint runs its own internal server process to handle RTMP
connections. This process needs to bind a port to accept connections on.
If you're running multiple web apps on the same server, each with their
own RTMP endpoint, these endpoints need to use unique ports (you can't
have multiple processes bind the same server port to accept connections
on). We deploy into a Java server as a web app which has pros and cons,
and while the pros outweigh the cons, in this specific case RTMP
configuration is not as trivial as it would be in a perfect world when
you're deploying multiple apps in the same container. For servlet-based
HTTP traffic, the servlet container is handling all network connections
and IO, and routes inbound requests to the proper web app based on the
requested URL; the web apps themselves aren't handling any network
connections or HTTP traffic directly. This means that all of your web
apps can be exposed on a single HTTP port (80 or 8400 or whatever)
uniformly. But for RTMP, where we have to handle the networking
ourselves, there's no safe way to have a single RTMP endpoint that
services connections for any and all web apps because we're running
within the context of a specific web app rather than as core code in
front of all the web apps, and web application startup order isn't
guaranteed to be deterministic and individual apps can be
undeployed/redeployed at runtime making sharing a single RTMP endpoint
defined in one web app with other web apps something we haven't tried to
support - there are all kinds of ways for things to go wrong with that.
>
> An analogy would be trying to run each of your web apps in a unique
instance of your Java server on the same machine. Try starting up
multiple instances of Tomcat, each hosting just one of your web apps,
where each Tomcat instance is configured to handle HTTP traffic on port
8400 - it doesn't work.
>
> So you need to define a unique port for each RTMP endpoint, and you'd
need to build your client for each web app to use the proper
corresponding port.
>
> Hope that helps,
> Seth
>
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
On Behalf Of Robert Csiki
> Sent: Friday, May 16, 2008 8:25 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: RTMP port 2038
>
> Thank you all.
> The use case is we noticed we can't depoy the same webapp twice on the
same server host (the second one won't work right, because port 2048 is
already taken). We tried changing the port but it did not work as the
initial port value is burnt into the SWF.
> BTW, I can't find the DataService in FB3 online help documentation. It
used to be ther ein FB2. What happened?
> Thanks, Robert
>
> --- In flexcoders@yahoogroups.com, "Seth Hodgson" shodgson@ wrote:
> >
> > Create your RTMPChannel in ActionScript and assign it to your
components for use. When you want to change its URL, invoke
disconnectAll() on your ChannelSet, update your RTMPChannel's URL, and
reconnect (by making a remoting call, issuing a DataService fill, etc.)
> >
> > I'm not sure what the use case is here though? Distributing a swf
that will work against various servers which may be running their RTMP
endpoints on different ports?
> >
> > Seth
> >
> > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
On Behalf Of Robert Csiki
> > Sent: Thursday, May 15, 2008 3:27 PM
> > To: flexcoders@yahoogroups.com
> > Subject: [flexcoders] RTMP port 2038
> >
> > Is it possible to change this port value in LCDS without the need to
rebuild the SWF?
> > Thanks.
> >
>



Reply via email to