Helps a lot. Thanks On Feb 7, 2014 1:03 AM, "Sonny Michaud" <[email protected]> wrote:
> That is partially correct. I am not creating a new socket each time it > is called - only one is every made during the lifetime of the application. > The check to see if the socket is open is really only there in the event > that the user starts sending events before the connection has been > established, but then I simply continue checking thereafter. If you wanted > to do anything when the socket is closed you would do so in that service. > You could also add a method to the returned interface allowing a user to > close the socket; in my case, the user has to navigate away in order to > close their connection. > > There is some code in there that keeps track of whether the socket is open > before I switched to using socket.onopen() directly, which I should remove > for clarity. Hope this helps! > > - Sonny > > On 02/06/2014 01:56 AM, Yonatan Kra wrote: > > Hi, > Thanks for your answer and example. > If I understand your code correctly, what you are doing is to load the > socket service in a controller and every time check if it was activated > before. > If it was, call the callback. If it wasn't, open a new socket with the > callback. > Is that it? And there's no need to worry about "destroy" and such stuff > here? > Thanks again > > > On Thu, Feb 6, 2014 at 1:17 AM, Sonny Michaud <[email protected]>wrote: > >> I have done something very similar, but using SockJS instead of >> Socket.IO. They have very similar interfaces, and, having used both, I >> have come to prefer the former. >> >> Your state will be persistent in the service, so switching view should >> not cause problems. You can see my implementation here if you are >> interested: >> >> >> https://github.com/sonnym/fics_web_interface/blob/master/app/assets/js/services/proxy.js >> >> This service handles the communication between itself and the server when >> first run, then returns an object that allows other services (or >> controllers) to send messages or register handlers for messages that will >> then be dispatched upon arrival. One important thing to note is that the >> dispatch occurs in a $rootScope.$apply() call to ensure that the changes >> propagate through the application. >> >> - Sonny >> >> >> On 02/05/2014 05:04 PM, Yonatan Kra wrote: >> >>> Hi, >>> I'm pretty new to Angular (about 2 weeks of trial and error) and it >>> looks amazing so far. >>> I think I'm now ready to dive into complex integration with socket.io. >>> I've created a service that creates a port listener (something very >>> simple). >>> I have 2 questions about it: >>> 1) The service needs to be called by a controller. When I switch view, >>> it means I switch a controller. Does that mean each time I switch view >>> (i.e. click a menu item), I destroy the listener and create a new one? I >>> believe it's a more basic question - what happens to the controller once I >>> switch view - is it destroyed? >>> 2) How would you suggest keeping the connection to the server across >>> views? I want to call it once, and it would be active as long as the user >>> is in the app. >>> Thanks >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "AngularJS" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/angular. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "AngularJS" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/angular/LZo3-S5uOeQ/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/angular. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > You received this message because you are subscribed to the Google Groups > "AngularJS" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/angular. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- > You received this message because you are subscribed to a topic in the > Google Groups "AngularJS" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/angular/LZo3-S5uOeQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/angular. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/groups/opt_out.
