Skip to main content
Participant
February 9, 2008
Answered

BUG -Flash Media Interactive Server 3

  • February 9, 2008
  • 5 replies
  • 661 views

Often when a client connected with fms3 loses his internet connection ( because internet shutdown ) , the client remains connected with fms3.
This happens because the status of the client is in playng or in publishing.
Also if I use application.disconnect(client)" , the client won't be disconnected and it returns to me as a true value.(And that's strange because the value should be false)
How can I do to solve this problem?


    This topic has been closed for replies.
    Correct answer
    Do you never get a application.disconnect(client) even after say 3-5 minutes ?

    On my end, In case a client has lost connection then application.disconnect(client) is called in around 5 minutes and also depends upon idleClient clean up settings.

    5 replies

    February 22, 2008
    You can submit a bug here:
    http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

    However, I believe its is reasonable to raise problem in the forum as it can help if somebody has a workaround.

    February 22, 2008
    Yes, i can confirm, even on the adobe live application that comes with the server, the clients remain connected(!) even if they are not watching anymore the live stream.
    We have the full blown interactive server 3 from adobe for live streaming, so this is a serious problem.
    This is a bug, cause the server is fresh set up and is only for live streaming.
    When you log into the admin console you see connected users after DAYS that dont get any data packets anymore and have disconnected.
    This happens with the onboard live application too.

    The single thing i can do is to restart the app instance , but this is not a solution.

    Yes it DOES disconnect on normal circumstances, but there are some connections that dont time out and wont disconnect. So after 24h (for example) there are a lot of connections still "active".
    February 21, 2008
    Hi ,

    i dont understand ,

    after i call application.disconnect(client)
    the ondisconnect is not called , but the client still in application.clients.

    the best thing is that the number of clients still accumulating
    and even if i call application.disconnect(client) again on the same client
    this does not work .


    This is VERY bad bug as alot of internal application logic is based on the fact that application.disconnect work .

    I would like to know is there a way to subit a bug to adobe , or we have to wait them to read the forum.


    c
    Participating Frequently
    February 22, 2008

    Firstly, this doesnt seem to be a bug. A client application object is tied to a remote client. Given a network link that is sub-optimal (or poor in your case), there is a notion of 'keeping a link alive" and a retry of sending messages to the client; some of this error handling is tcp based (ie socket timeout ) and also some of this may reside in how the server handles the application logic.

    That said, the use of application.disconnect(client) seems to work for me.

    here is the SSAS:
    application.onAppStart = function(){
    trace("onAppStart: application started");
    };

    application.onConnect = function(client, name, isGuest)
    {
    client.name=name;
    trace("onConnect: accepting client "+client.name);
    application.acceptConnection(client);

    var msg = "Hello! You are connected as: " + client.name;
    trace("onConnect: Sending this message: " + msg);
    client.call("msgFromSrvr", false, msg);

    for (i=0; i < application.clients.length; i++)
    {
    trace("onConnect: [Alive clientlist] ["+i+"] "+application.clients .name);
    }

    if (application.clients.length > 1){
    // disconnect the first
    application.disconnect(application.clients[0]);
    }

    };

    application.onDisconnect = function(client)
    {
    trace("onDisconnect: client " + client.name + " left");

    for (i=0; i < application.clients.length; i++)
    {
    trace("onDisconnect: [Alive client list] ["+i+"] "+application.clients
    .name);
    }
    };


    and here is the log that was generated:

    2008-02-21 17:08:58 5908 (s)2641173 onAppStart: application started -

    2008-02-21 17:08:58 5908 (s)2641173 onConnect: accepting client one -

    2008-02-21 17:08:58 5908 (s)2641173 onConnect: Sending this message: Hello! You are connected as: one -

    2008-02-21 17:08:58 5908 (s)2641173 onConnect: [Alive clientlist] [0] one -

    2008-02-21 17:09:03 5908 (s)2641173 onConnect: accepting client two -

    2008-02-21 17:09:03 5908 (s)2641173 onConnect: Sending this message: Hello! You are connected as: two -

    2008-02-21 17:09:03 5908 (s)2641173 onConnect: [Alive clientlist] [0] one -

    2008-02-21 17:09:03 5908 (s)2641173 onConnect: [Alive clientlist] [1] two -

    2008-02-21 17:09:03 5908 (s)2641173 onDisconnect: client one left -

    2008-02-21 17:09:03 5908 (s)2641173 onDisconnect: [Alive client list] [0] two -
    Correct answer
    February 20, 2008
    Do you never get a application.disconnect(client) even after say 3-5 minutes ?

    On my end, In case a client has lost connection then application.disconnect(client) is called in around 5 minutes and also depends upon idleClient clean up settings.
    February 20, 2008
    Hello,

    i have exactly the same problem , is there any turnaround util the issue is fixed ?

    thanks