tags:

views:

197

answers:

2

I am developing a messenger like skype. For this i have downloaded Ejabberd Server. I am developing my own client using Java. But i do not know how to configure the server so that they can communicate with each other. Please help me in that.

A: 

I support A.R. Diederichs suggestion to look at openfire. You can quickly set it up with an embedded database and it is immediately usable.

Then I suggest using the Spark client as a reference implementation. You can switch on debug mode (via the properties panel) and that spawns a debugger which displays the full xmpp conversation between the client and the server. You can even send Adhoc xmpp messages, so when in doubt whether the server is badly configured or the messages is malformed, this is an elegant way to test it. Even to set up ejabberd I'd use the Spark client. If that works, it should also work for a (bug-free) custom client.

Andreas_D
+1  A: 

Setting up an ejabberd server is described in

http://www.process-one.net/en/ejabberd/guide_en

If you are writing a client in Java, I think using Spark or Smack from Openfire looks promising. The communication between client and server will be XMPP, preferably encrypted. A typical ejabberd setup will have a listener on port 5222 with ssl enabled, e.g.

{listen,
 [
  {5222, ejabberd_c2s,     [{access, c2s},
                            {shaper, c2s_shaper},
                            {max_stanza_size, XYZ},  %% or skip this completely
                            starttls,
                            {certfile, "/path/to/pemfile"}]},
 ...

I do not think that the decision to write the client in Java necessarily affects the server part. Even extending it is not very hard.