1

I have been tasked to develop a mobile chat app that will run both on Android and iPhone devices. I will be developing the respective clients in their native languages. Where I am a bit confused is in the development of the server.

My intended approach is to use 'long polling' to retrieve messages from the server and a separate connection to send messages to the server using GET/POST (obviously, there is no need for this to be long polled). My initial intention was to use Apache & PHP?MySQL for the server, but after a bit of reading, I learnt Apache won't be able to survive when there are lots of concurrent connections. I also learnt Node.js can survive where Apache failed by its capabilities to handle a lot of concurrent connections. Though, I don't have any knowledge about Node.js but if it will work, I am willing to do a crash course on it.

I know 'long polling' isn't the best method, but I can't seem to understand how XMPP can work for me on this project.

Thanks a lot in advance.

1 Answer 1

1

XMPP is the best way. You can install openfire on server side and for android you can use asmack. For Ios you can use xmpp lib.These are best combination. Communication with server is done through ssl connection.

Sign up to request clarification or add additional context in comments.

5 Comments

Thanks for your time. I learnt from a friend that openfire is a bit complicated. Thought, I haven't checked it out myself. How then can I get to integrate desired server features into openfire?
Its not complicated, you can extend or add features on openfire by adding your plugin on it.You should not send message using get or post call.On openfire send message from socket connection.
There are less tutorial for this just ask questions from me I will guide you. I am good on Openfire and asmack. I have created 3 chat apps. My email id is [email protected]
Thanks for the response. Will send you an email shortly
I just sent you an email...Thanks

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.