[Laszlo-dev] NetConnection Parameters on RTMPConnection
Lucas Lain
lucas.lain at gmail.com
Sun Dec 27 16:39:35 PST 2009
Hello Max,
Thank you for your reply. As you properly noticed, the connect
function was called from mediastream component (inside _doconnect()
method). I modified all the classes to support the attribute
"connParams" so every connect can use it.
It's not the most beauty solution ... but it works for now :).
Thank you again!
Lucas.
On Sun, Dec 27, 2009 at 10:19 PM, Max Carlson <max at openlaszlo.org> wrote:
> On 12/24/09 1:41 PM, Lucas Lain wrote:
>>
>> Hello Everybody,
>>
>> I'm trying to modify the class rtmpconnection to allow connection
>> parameters.
>> I can't get the parameters to work. I tried to sniff the tcp
>> connection (I'm using rtmpt), but I can't see the parameters on the
>> tcp stream. I'm using red5 on the other side, and the server says that
>> the parameters received are 0. I think that the parameters are not
>> working on my SWF side.
>>
>> Can you help me debug where my problem is? I ran out of ideas about
>> where to look. I can't look inside NetConnection (_nc).
>>
>> I'm using OL 4.6.1.
>>
>> On my SWF client:
>>
>> var connParams = new Array();
>> connParams["key"] = 'KEY1234124231';
>> rtmp.connect(connParams);
>>
>>
>> I modified two lines (the ones that say "HERE"). Here is the extracted
>> code from rtmpconnection.lzx :
>>
>> <!--- Connect to the rtmp server. -->
>> <method name="connect" args="connParams"><![CDATA[ //<--
>> HERE
>> //Debug.write("rtmpconnection.connect, stage",
>> this.stage);
>> if (this.stage> 0) {
>> return; // already connected or connecting
>> }
>>
>> var src = this._usealtsrc ? this.altsrc : this.src;
>> if (src == 'null') src = null;
>>
>> if (this.debug) {
>> if ($debug) Debug.write("initiating connection to ",
>> src);
>> }
>>
>> if ($debug) {
>> if (src == "") {
>> Debug.write("no src url defined for", this);
>> return;
>> } else if (typeof(src) != "string") {
>> Debug.write("src", src, "must be a string in",
>> this);
>> return;
>> }
>> }
>>
>> this._connecturl = src;
>>
>> this._createconnection();
>> Debug.write(connParams);
>> this._nc.connect(src,connParams);
>> ///////////////////<-- HERE
>> // I think the only option is to ethereal
>>
>> this.setAttribute("status", "connecting");
>> this.setAttribute("stage", 1);
>> if (! this['_connectionTimeoutDel'])
>> this._connectionTimeoutDel = new LzDelegate(this,
>> '_handleConnectionTimeout');
>> lz.Timer.addTimer( this._connectionTimeoutDel,
>> this.connectiontimeout );
>> ]]>
>> </method>
>>
>> Thanks in advance.
>> Regards,
>>
>
> Hi,
>
> It looks like your changes _should_ work, according to the Adobe docs. The
> fact that sniffing the connection shows nothing indicated the client isn't
> sending anything. Have your tried sending a simple String or other
> parameter when calling connect()?
>
> It's possible connect() is being called from elsewhere. You could try
> running in backtrace mode by checking 'backtrace' in the developer's
> console. Next, click on the debugger message(s) to see the full backtrace.
>
> Sometimes, running the Flash debug player can help catch certain kinds of
> exceptions: http://www.adobe.com/support/flashplayer/downloads.html
>
> Let me know what happens!
>
> --
> Regards,
> Max Carlson
> OpenLaszlo.org
>
--
Lucas
More information about the Laszlo-dev
mailing list