powered by Jive Software

Messenger server questions

I have been working on a server product that requires an underlying messaging layer, and I’‘m investigating using an XMPP-based protocol for this (currently I’'m using my own Java serialized message streams).

My main question is about the architecture of Jive’'s Messenger server. It says it supports up to 1000 clients – has it been tested with any more than this?

Does it use one thread per connection, or does it use the NIO libraries?

I apologize if these questions are addressed somewhere else, if so please point me there. Thanks, and good work on your software.

Chris Lamprecht

Hi,

XMPP is a great protocol for building applications on top of. Extensions can be easily added on top of the core XMPP simply by adding new XML nodes in different namespaces than the standardized ones. if you haven’'t already you should also check out Jive Smack which includes a simple API for sending arbitrary data, including serialized objects over XMPP.

http://www.jivesoftware.com/xmpp/smack

As far as the number of concurrent clients messenger supports, much depends on your OS, hardware, and JVM. We found the NIO libraries for Sun’‘s 1.4.0 and 1.4.1 to be unreliable and are using standard Java sockets for i/o. We’‘ll be investigating NIO’'s use in future versions although it appears that NIO may not provide any benefits for people running on Windows even when it is fixed.

Feel free to ask questions. This is a new product for us and we’'re constantly exploring what our customers need and using that to define future features and feature priorities.

-iain