Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Real time messaging service for mobile and desktop devices

I am looking for a solution to push event from my server to clients which will be Android, iOS and Desktop(web) users.

I have seen quite a few posts on Parse, Amazon SNS and Google Cloud Messaging but non of them mention the speeds and most common applications for them or comparison to simple TCP stream or websockets?

I need to have up to 50 events/second bi-directonal throughput per client (¬1kb per event) with max 150ms latency.

What are disadvantages of using just a TCP stream of events versus websockets versus SNS/Parse/GCM?

like image 611
Arturs Vancans Avatar asked Nov 18 '15 21:11

Arturs Vancans


People also ask

What is real time messaging system?

What is Real Time Messaging? Real time Messaging refers to the distribution and delivery of messages that are designed to be consumed or otherwise used in real time (i.e. as events occur and no later).

What are the two types of instant messaging services?

there are two kinds of instant messaging software – application based and Web based. Application based instant messaging software is downloaded and installed on user's computer. Some of the popular instant messaging software are: Google Talk • Yahoo! Messenger • Skype • Windows Live Messenger • Rediff Bol, etc.

Is there a messaging app for PC?

With mysms you can send/receive text messages on your Windows 8 / 10 PC or tablet using your current phone number. Your SMS inbox is synced with your phone and always up to date, no matter from which device you send your messages.

Is instant messaging a real time service?

Instant messaging is used for real-time communication among users on the internet. Enterprise and consumer users find it an immediate, convenient and flexible alternative to email. IM'ing is faster than email and more direct than other asynchronous forms of communication.


2 Answers

Push Notifications (GCM and APNs)

PROS: You can reach the device even if the client application is not running.

CONS: Low throughput; high latency

Raw TCP

PROS: High throughput; low latency; bidirectional

CONS: Doesn't pass through typical proxies and firewalls; needs the client app to be running

WebSockets

PROS: High throughput; low latency; bidirectional; passes through firewalls

CONS: Not all proxies already support them; needs the client app to be running

In additions, there are also HTTP Streaming and HTTP Long Polling.

like image 132
Alessandro Alinone Avatar answered Sep 17 '22 22:09

Alessandro Alinone


you can try a SignalR.

ASP.NET SignalR is a new library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications

one of my colleague have used this library for web, window, android, mac etc for real-time messaging.

like image 31
Madhusudan Nagar Avatar answered Sep 17 '22 22:09

Madhusudan Nagar