I am not sure about the apeDisconnect event. I am more familiar with the APE protocol then with JSF itself. Are you listening for this event in a channel or the client?
Since the APE backend is written in C I can only assume how some parts work. If you try to reconnect to the same frequency then APE will flush a queue of raws that have been waiting to be sent. This behavior was only experienced with websockets. When attempting to reconnect a new frequency should be used, as if a new browser tab was opened. With that been said i dont think JSF was built to resume connectivity the way you are trying to. New connection, new APE client. On Wed, Jun 22, 2016, 5:58 AM Nicolas <[email protected]> wrote: > I'll reply to question 1) myself. > > With Websockets, apeDisconnect is never fired. > With default protocol however, it is fired between 15 and 30 seconds after > cutting the connection. > > Also noticeable: > With default protocol, I also have no issue with duplicated content. > > So I am starting to wonder if I should not simply go back to default > protocol. Websockets does not seem to work as I would like it to work. I > have not yet found a way to reconnect softly after the communication is > broken more than 10-20 seconds. > > So new questions: > > 4) Is Websocket really much better than default protocol? Is is supposed > to be faster? More reliable? Would you advise me to go back to default > protocol if it is easier to make it work? > > Thanks! > > > > > > On Wednesday, 22 June 2016 10:36:02 UTC+2, Nicolas wrote: >> >> Hi Pablo, >> >> I can see that APE disconnects players after 45 seconds. Actually, my >> players lose their current game when this happens. I suspect this is what >> you are talking about when saying APE prunes sessions and sockets. >> So what I am interested in is the period between 10-20 seconds and 45 >> seconds. I manage to reconnect in the first 10 seconds, but not later. >> >> Other than that, I have a few questions. >> >> 1) Does the event apeDisconnect work? I have tried quickly yesterday >> evening, but it did not seem to be raised ever. >> >> 2) I told you I receive duplicated (4-5 times actually) raws from the >> server after calling this.core.initialize(). >> Are there really several communication channels open at that time? Are >> there duplicates on the client or on the server? How can I see where the >> duplication takes place? In the APE client, I can't seem to see related to >> that when I go through the hierarchy of the object. >> If I could find these duplicates, maybe I could just delete the old ones >> and go on from there. >> >> 3) I use Websockets at the moment. Do you think the default mode instead >> would behave differently? >> >> Nicolas. >> >> >> >> >> >> On Wednesday, June 22, 2016 at 4:52:46 AM UTC+2, Pablo wrote: >>> >>> Hey again, >>> >>> Do note that user sessions and sockets are pruned from the APE server >>> automatically. So probably when you attempt to reconnect the session has >>> already been expired. When I built ApePubSub >>> <https://github.com/ptejada/ApePubSub> a few years ago i remember I had >>> to create a custom server command to handle restoring the session. From >>> what I can remember the first command that requires a session will >>> automatically attempt to resume the session. On success, an IDENT and >>> LOGIN raw will be received in the client. >>> >>> On Tue, Jun 21, 2016 at 6:12 PM Nicolas <[email protected]> wrote: >>> >>>> Hi all, >>>> >>>> I store every command and if they have not been acknowldedged by the >>>> server, I resend them. >>>> >>>> In my latest tests, I use a program called Clumsy to simulate Internet >>>> connection issues. >>>> >>>> If connection is cut for a short period, everything falls back into >>>> place nicely and I thought that everything was working great! >>>> >>>> However, if I cut connection for longer than 10-20 seconds (I am not >>>> sure how long exactly), I just realized that the system does not get back >>>> on track. The connection seems to be broken for good. >>>> >>>> *So my question is simple: what is the correct way to handle the >>>> problem? How do I reset a connection to APE (with session) without >>>> refreshing the page (I can't)?* >>>> >>>> I have looked at this.reset() which may be the appropriate way. But it >>>> does not work for me as on the server I don't accept two sessions for the >>>> same user on the server. >>>> >>>> Also I have called this.core.initialize(this.core.options); >>>> But then I end up receiving duplicated command, probably exactly like >>>> if I had several tabs open. >>>> >>>> *So in short, I can't find the proper way to start with a new fresh >>>> connection to the server, with the same session without refreshing the >>>> page. Surely there must be a way.* >>>> >>>> Thanks for helping! >>>> >>>> -- >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "APE Project" group. >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/group/ape-project?hl=en >>>> --- >>>> APE Project (Ajax Push Engine) >>>> Official website : http://www.ape-project.org/ >>>> Git Hub : http://github.com/APE-Project/ >>>> >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "APE Project" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> >>> Sincerely, >>> >>> Pablo Tejada >>> >>> From Mobile >>> >> -- > -- > You received this message because you are subscribed to the Google > Groups "APE Project" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/ape-project?hl=en > --- > APE Project (Ajax Push Engine) > Official website : http://www.ape-project.org/ > Git Hub : http://github.com/APE-Project/ > > --- > You received this message because you are subscribed to the Google Groups > "APE Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Sincerely, Pablo Tejada >From Mobile -- -- You received this message because you are subscribed to the Google Groups "APE Project" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/ape-project?hl=en --- APE Project (Ajax Push Engine) Official website : http://www.ape-project.org/ Git Hub : http://github.com/APE-Project/ --- You received this message because you are subscribed to the Google Groups "APE Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
