Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
304 views
in Technique[技术] by (71.8m points)

sockets - Good choice for an IM app

I'm going to develop a WhatsApp like IM app. I'm looking for something that gives me the most pre-cooked solution. I've used sockets before in a Webapp for similar purposes and have heard that XMPP(it's implementations) is widely used for this sort of work. Considering the choices at hand I understand XMPP will be the way to go but I have the following questions:

  1. Why Should I use XMPP (How much will I have pre-cooked?)
  2. Why Can't I use sockets? though they seem to be very easy to work with and a quick solution
  3. I've heard about http://quickblox.com/ and I think it's the fastest solution. Why and why shouldn't I use it?
  4. Any other thing I'm missing?
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

To answer Q's 1, 3 and 4:

The XMPP Protocol itself covers most of what you will need from a modern-day IM app (you stated WhatsApp - they used it, at least at the starting phase, same goes for the Facebook messaging app). I'm guessing that's what you're aiming at.

There are other well known options like IRC, - again, it depends on what you need, I suggest reading up about it: XMPP.

By "develop an IM app", I'm assuming you mean starting with mobile, in that case there's a well documented library for Android called Asmack, it will help you in writing your own client (again, read up...)

Continue by looking at which Server implementation of the XMPP protocol suits you best, among the common implementations out there are Ejabberd and OpenFire, Have a look at this: XMPP Server Comparison (the "pre-cooked" ref)

Some things to consider as an independent developer:

  1. Open-Source.
  2. Community Support and Documentation.

To try and answer Q 2:

The "pre-cooked" servers, combined with the client libraries will probably cover the sockets for you.

Edited:

You should probably also give this SO Thread a look: Android and XMPP: Currently available solutions


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...