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 <[email protected]> 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

Reply via email to