Each protocol works different. The websocket transport is suppose to be
better for your app and the server itself. Websockets uses a single
bi-directional connection while long polling makes a new connection on
every raw.

Even the lifespan of a socket might be different for the websocket
transport. It can be 20 instead of 45 seconds.

I had a demo to compare the two but is not working

http://ptejada.com/script/ApePubSub/demo/payloadTest/

On Wed, Jun 22, 2016, 8:19 AM Pablo Tejada <[email protected]> wrote:

> 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
>
-- 

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.

Reply via email to