I'm still having a lot of other related problems with channels disconnecting.
First of all, when the client disconnects from the channel (notified by Channel Presence) I do not get a onClose event fired on the socket. So, how can my client when he gets disconnected? Also, I'm having problems where the clients connects, and a few minutes later he is disconnected, without any notice. Let's say I call: channel = new goog.appengine.Channel(token); socket = channel.open(); And then a few minutes later, the client tries to connect again using the same token. What method should I call client-side? And another scenario: the client tries to connect again using a different token. What method should I clientside? The reason I'm asking is because my client is getting disconnected pretty much immediately after connecting (but only sometimes) On Jul 4, 1:11 am, ksafez216 <[email protected]> wrote: > So, the Channel Presence feature actually notifies when a channel is > connected/disconnected as opposted to created/destroyed? > > If this is correct, then how can I find out when the channel that was > created on the server-side has been closed and not simply > disconnected? > > I guess I'm confused about creating vs. connecting and destroying vs. > disconnecting > > Here's what I'm doing: > > * Client requests a token using "client ID" > * If "client ID" already has a token (this info is saved in the > datastore when the channel is created server-side) THEN send the > client the token, and call channel.open(token) on client-side > * If "client ID" doesn't have a token (meaning the info doesn't exist > in the datastore), then create a new channel and send client the > token, which in turn calls channel.open(token) > * When Channel Presence detects a disconnect, delete the info stored > in the datastore (this is maybe where I've gone wrong, since the > channel is not destroyed, but simply disconnected) > > Thank you for your help. > > On Jul 3, 11:24 pm, "Nick Johnson (Google)" <[email protected]> > wrote: > > > > > Hi, > > > On Mon, Jul 4, 2011 at 3:49 PM, ksafez216 <[email protected]> wrote: > > > When I call channel.open([token]) it opens a new channel and the > > > Channel Presence feature detects this. > > > > Then, the client's browser is shut down for a few minutes and is > > > restarted. > > > > My app checks to see if they still have a valid token. If so, the > > > client calls channel.open([token]), using the same token. > > > > Again, the Channel Presence listener detects that a channel was > > > connected. > > > > Now, am I charged for two channels being open, even though it's using > > > the same client ID and token? > > > Every time you call channel.create on the server, a new channel is created, > > and a new token is returned. Billing only happens for server-side actions. > > > -Nick Johnson > > > > The thing is I don't get a channel disconnected notification, I only > > > get the two channel connected notifications. > > > > I'm just trying to figure out exactly what happens when I call > > > channel.open([token]) in the client TWICE using the same token. How > > > am I charged? > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Google App Engine" 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/google-appengine?hl=en. > > > -- > > Nick Johnson, Developer Programs Engineer, App Engine -- You received this message because you are subscribed to the Google Groups "Google App Engine" 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/google-appengine?hl=en.
