How does whatsapp work technically




















This actor is responsible for handling the inbox of the user, how it gets serialized to disk, the messages that the user sends, and the messages that the user receives. Let's assume that Alice and Bob are friends on WhatsApp. So there is an Alice actor and a Bob actor.

Let's trace a series of messages flowing back and forth: Alice decides to message Bob. Alice's phone establishes a connection to the WhatsApp server and it is established that this connection is definitely from Alice's phone. One of the WhatsApp front-end servers deserializes this message and delivers this message to the actor called Alice.

Alice the actor decides to serialize this and store it in a file called "Alice's Sent Messages", stored on a replicated file system to prevent data loss due to unpredictable monster rampage. Alice the actor then decides to forward this message to Bob the actor by passing it a message "Msg1 from Alice: A giant monster is attacking the Golden Gate Bridge". Alice the actor can retry with exponential back-off till Bob the actor acknowledges receiving the message.

Bob the actor eventually receives the message from 2 and decides to store this message in a file called "Bob's Inbox". Once it has stored this message durably; Bob the actor will acknowledge receiving the message by sending Alice the actor a message of its own saying "I received Msg1".

Alice the actor can now stop its retry efforts. Bob the actor then checks to see if Bob's phone has an active connection to the server. It does, so Bob the actor streams this message to the device via TCP. Bob sees this message and replies with "For Alice: Let's create giant robots to fight them".

This is now received by Bob the actor as outlined in Step 1. Bob the actor then repeats steps 2 and 3 to make sure Alice eventually receives the idea that will save mankind.

WhatsApp actually uses the XMPP protocol instead of the vastly superior protocol that I outlined above, but you get the point. For your own application things to consider: You might not have control over clients sending GPS coordinates to the server every 10 minutes. If your client is running on a mobile device, the OS might decide to starve you from resources or just kill your process.

You need to maintain a state for clients that are connected to your server to make sure you can send messages to active clients when your requirements are met. This is a slight modification of the stock "Comet app" example that almost every framework has. Establishing a TCP connection is not a very big waste of resources either from the client's side or from the server's side.

If your server software ecosystem supports nonblocking IO, the state required per connection is tiny. You could support upwards of k connections on a mediocre box if you tried hard.

If you are on the JVM Netty might help you here. Python has Twisted and Tornado. Golang supports a high number of connections through its standard library. We have addressed vertical scalability here i. If you really want to scale out and build a distributed system that maintains state, you might want to consider Erlang with OTP or other implementations of the Actor model, like Akka JVM which also supports remote messages.

A combination of event sourcing and a message passing architecture could get you all horizontal scalability you need. How are we doing? Please help us improve Stack Overflow. If you need any consultation or paid assistance in the development process, feel free to get in touch with us at bd contus. Hello sir,i need to build an messenger app,which will not use internet.

Glad that you have contacted us. We are going to develop an application like Whatsapp. Why are you using 3 different database when you can store the user details and sessions in Cassandra or vice versa. We have made use of three different databases for holding three different purposes in order to achieve an optimal performance by minimizing the load.

Mnesia is for user sessions. MySQL holds user info like account credentials, personal data. Cassadra for Chat logs. Great Post. Way to help an organization in a better way for keeping the communication hassle-free. Great article,Thanks for the good word. Like whatsapp,Messenger,hangouts and many other messaging apps are very useful. Quite interesting stuff! Helps me to get a clear idea on creating my own instant messaging chat app like whatsapp.

Here the facts about creating a clone app like whatsapp sounds interesting and I thoroughly enjoyed the post and its worth read! Normally local notification is used and push notification will be sent to user when they are in offline. This ditches out the dependency of WhatsApp being used on the device. If a unique number is generated from whatsapp server and sent to the device, where does this unique number store on the device?

I deleted the app and reinstalled it. Even after that, it was disabled for 2 hours. How does whatsapp recognizes each device as unique? But this is changed i guess as per your statement. Hi Ramanathan, we want to make a messenger app such like WhatsApp? Hi Vishavnatha, Thanks for reaching us.

Let contact with our business development team bd contus. Hey Guys! Good info about building a whatsapp clone. Ok I would like to know does Your Contus Fly app support document sharing which could be much helpful when used for an enterprise team chat. Thanks for such a great article. This post gives a lot of technical knowledge to build a WhatsApp clone.!!

Keep sharing.. Hello Ramanathan! This post has given me a lot of insights. Thanks a lot for sharing such one! Hi Vamsi Krishna, Sure, will help you. Kindly contact to bd contus. Need Push notification integration in Our Ejabbered Server for android and ios. If Help in Development of push notification part Will pay for it. I understand that this is not a framework to develop apps. You already have the app developerd and ready to launch.

Do you have the option to create stories just like Snapchat and instagram. Whatsapp web : The authentication happens when the QR code shown by Whatsapp web is scanned by the mobile app. Whatsapp mobile app : Here is where the Whatsapp mobile app requests Whatsapp server telling that the particular Whatsapp web ID belongs to the Whatsapp account user.

Hi Ramanathan, How can and where did I get code for whatsapp like verification in android I need to implement that in android can you help me for that? Hi Yogeshwar, Thanks for reaching us, get in touch with bd contus.

Hey admin thanks for sharing that much information so can you provide the source code of whole WhatsApp application. Hi there!!! I can suggest an efficient whatsapp clone which can be used for integrating communication, management and analytics in a single platform. An office chat software helps you synchronise your team and fix your communication failures at work.

EngageDots, enterprise instant messaging software allows you to be in constant touch with your employees, projects and customers and keep all your business communications in one place.

Invite your clients, employees and vendors to chat, collaborate and make decisions with options to set online meetings, reminders for tasks assigned and so forth. Team Collaboration — An exclusive application to communicate, collaborate and manage employees and customers with group chat and private chat features. Contacts Integration — An opportunity to integrate and update your contacts for an improved customer relationship management and to manage associations.

Task Scheduling — An automated and extensive app designed for enterprises to plan projects and assign tasks efficiently, in real time. Multiple User Controls — Developed to handle multiple user requests with real-time connectivity to effectively manage customer relationships.

Instant Insights — A platform to view statistical reports on the progress which supports easy decision making and manage promotional activities with no hassles.

Hii,can u tell me about basic developments of apps how to start with ,i actually iam thinking of developing some apps can usupport me. Hello Ramanathan, Well Done!! We have also developed an app which is similar like WhatsApp clone and also very beneficial for users. I am using XMPP for my Chat application for iOS, but i am not able to mange push notifications in background state using XMPP, how you are managing push notifications in background state, can you give me some idea technically.

Hi Ramanathan. Is it possible that the time that the double grey ticks show the Message was received could be wrong? We can get the PDF file sharing feature done but by default, Contus Fly supports image, audio and video file sharing only. PDF file sharing or any other document sharing will be a part of customization. Kindly contact our team at bd contus. Hello, is it possible for you to create an app for me that an improvement of whatsapp?

We can get it done by integrating third-party services like OpenTok that enable group audio calls and video calls in a real-time chat application. Write to our business development team bd contus. Hi Ramanathan sir, I have a one doubt. Whatsapp does not publish an official API.

Yet, we provide a chat API like Whatsapp as per your requirements. Please help me to get the code. Hi, i want to know how text message dictionary works in whatsup. Whatsapp makes use of the built-in text editor of the mobile device.

What happens if I uninstall WhatsApp and install and register again with 1. Original number …. Yes, you can get back your messages but before you need to sync your WhatsApp account with your Gmail id that your conversation and media will be stored on google drive. And you will be able to recover the conversation if it would exist. Of course not, because its not stored on server, as e-mail service used to do.

Use to do. You can receive the messages, received after the registration proccess. But i think only one mobile phone number can be logged on account. There also is another permisions level for its accounts, if you activate it, need to re authenticate to use that phone number.

If you reinstall, the backup database can be opened on your phone, its end to end encrypted. That means, the backup database is encripted, and key exists only on the phone that creates it. Go do something better, try to go fishing.. I intend to use WhatsApp for my private business with a company well known to everyone and I need a private discussion with an expert like yourself.

How can I do that? Hi Ramanathan, how does one create settings similar to those on WhatsApp where one can change their account name and mobile no? I wanted to develop a chat application exclusively for my corporate purpose. Can you customize and give the required features for internal office communication? Yes Sreejesh, We can create and provide a chat application exclusively for your corporate purpose with wide range of features that can liven up your team communication much better!

Hi: do you know if group data name of the group and members are stored in the whatsapp servers? Or are also a app-side? I didnt understand your business model, I have few questions: 1. Is it like this, we give a requirement, you make the modification for the clone, and host it, we pay monthly?

Will you provide the source code? Who will manage the security issues like hacking threats? Can we brand it in our name? Can we host the app in platforms like PlayStore in our name? Sorry, I am new to it, so these questions. Thanks in advance. Hi Binu, 1 It is a one-time payment. Why Erlang was chosen for WatsApp?? Its Really amazing article for people like us. Because you defined each and every technologies for improving the performance of whats app so changing the technologies will give impact on the application?

Hi McKinley. Tell us your requirements and we can help you in knowing the cost. Hi, guys please let me know, Is it possible to target the multiple countries with their actual time in Whatsapp?

We develop a chat app using an inbuilt time stamping functionality that ensures to target the different countries with no elapsed time. I want to create an app like whatsapp where I want to include peer-to-peer voice calling feature.

Is that possible using your solution? Thanks for contacting us. Yes, You can get the voice calling feature implemented in the chat app where the end-to-end user can communicate with each other. Hi, recently I came to know about DUTA service in whatsapp that helps to obtain latest news, entertainment, sports etc. Can you make a similar service like this in your instant messaging chat app? Yes Rajesh, a service similar to that can be made and given by our expertise technical team using the real-time chat app technologies!

Hi Ramanthan, i have one doubt.. Can u pls explain it technically.? December 31, How Whatsapp works technically..? Every one of us is familiar with a real time messaging application Whatsapp. It's quit interesting to know actually how the Whatsapp works. This server facilitates instant message transfer between two or many users at any given second. Ejabberd is an open source Jabber server written in Erlang language. It was preferred by the developers of Whatsapp as it was best suited for handling huge communication system with high sustainability.

Erlang also helps by quickly adapting to instant updates and hot fixes. Whatever may be the improvisations or coding improvements, Erlang helps in quickly pushing the changes to live implementation without needing restarts. Whatsapp manages more than 50 billion message transfers a day.

The key to the smooth data processing lies with the message queue length. The length of the message queue of all the processes associated with a node is monitored. Incase of multimedia messages, contents audio, video, pdf, locations, contacts or image are uploaded into a HTTP server and are linked with the content and then sent to the receiver in the form of a thumbnail.

Based on the user's needs the content can either be downloaded or discarded. XMPP is being used by Whatsapp. To ensure network security, Data security layer DSL is being used. This ensures private data transfer. As and when message is sent, it is queued on the server. The message waits in the queue until the recipient reconnects to receive the message. As and when a message is delivered the sender gets notified by a double check mark near the message.

After the delivery the messages are instantly deleted from the server memory. For the database management Mnesia DB comes into play. Thus by using Mnesia, the app is able to achieve fast request responses, thereby improving the overall efficiency.

Free BSD is the operating system upon which Whatsapp is laid upon. Gurukiran Bhat Department of CS. K Thank you for visiting us. Newer Post Older Post.

Dewa Poker 11 August at Go Lagu 13 August at



0コメント

  • 1000 / 1000