Search code examples
iossocketsbluetoothpush-notificationmultiple-monitors

How to be sure to receive requests over the network? (for the staff in a shop for example)


If I want to make sure that a device receives a message, over the network, for an app used by sellers in a shop for example.
I heard push notifications are not 100% reliable, sometimes some of the notifications don't arrive, or not on time.

The app could be in a shop, where the staff communicate with one another, and there could be 10 devices connected. (ipad, iphones)

edit 1: I heard about sockets, is it the right direction to go?


EDIT 2:

I am not sure why a socket should be used, rather than a webserver for example, I found these 2 sentences (source raywenderlich) :

  • You can send connected clients data whenever you want, rather than requiring the clients to poll.
  • You can write socket servers without a dependency of a web server, and can write in the language of your choice : don't understand what the "dependency" is?

Does it also mean : Sockets let 2 (or more) specific devices to connect one another in a private connection, compared to webservers where everybody could connect if there is no login/password?


EDIT 3 : Maybe a bluetooth solution with MultiPeerConnectivity would be better...


Solution

  • Sockets, and push notifications in general, are only as reliable as the network the user is connected to. If your looking to circumvent network reliability where a 100% success rate is guaranteed, in a Shop environment where users are in close proximity, you can look into GKSession as part of the GameKit.framework

    Or you could look into Bonjour or client/service discovery protocols that makes the process of "knowing" peers in a network

    I see you tagged Parse.com, again, the reliability of Push Notifications is highly dependent on the reachability, however, most issues that arise with Parse is dev-end related, not product related.

    EDIT I forgot to mention MultiPeerConnectivity