struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Weber <erikwe...@mindspring.com>
Subject Re: [OT] Recommendation of Instant Messagging System
Date Thu, 05 May 2005 16:34:51 GMT
See my other post, please, if you are limited to using HTTP.

The modifications I made to Smack (1.4.2) are subtle, and the classes 
are pretty small, but they require some detail to explain properly. The 
library does work as is. It uses two threads -- one that parses incoming 
XML and dumps the generated objects into queues, another that actively 
polls queues and notifies your listeners. I found that in some cases 
where Smack expects you to use one model (active vs passive 
notification), you really would like to use the other. This led (I 
think) to a quote on the Web site that was something like "some 
developers find that the Chat class doesn't meet their needs, so they 
implement their own using PacketCollector, etc.". So I made some 
modifications and wrote a couple new classes related to that. I prefer 
to write my own queues and Runnables because you have more control that 
way. If you are not comfortable doing this, don't worry, their stuff 
works fine as is. You can just register listeners and away you go, 
updating your GUI in event handlers.

Yes, I would contribute my modifications, but first I need to document 
them (and also make sure they are still needed -- they update fairly 
regularly). I will share them with you either way if you go this route.

Erik

P.S. There are Applet chat systems out there that have been around for a 
long time. Don't forget to check those out. Also, there is at least one 
open source Swing client built on Smack that looks pretty good, 
especially in the area of SSL. See the Smack forums and you can find an 
announcement of it. Probably, there are JavaScript-based chat 
implementations out there too. If you are going to use JavaScript and 
have simple requirements, Leon's suggestion might fit the bill.



Lixin Chu wrote:

>Hi,
>I am also interested in integrating a chat engine with my Struts
>application - with very similar requirements. In fact I posted a msg
>here before checking this thread !
>
>I am not familar with any of the Sockets, ServerSockets, XML API or
>Threads. So looks like building from scratch is not an option to me;
>Smack sounds good, but with the problems you pointed out, I doubt if I
>am able to handle them correctly.
>
>Would you contribute your modifcation back to Smack someday ?
>
>appreciate your info very much !
>lixin
>
>On 5/5/05, Erik Weber <erikweber@mindspring.com> wrote:
>  
>
>>I just finished putting together a system with a Swing client and
>>combined services over XMPP and HTTP.
>>
>>I think Leon's suggestion of doing your own is not bad, if you are good
>>with Sockets, ServerSockets, XML APIs and Threads (find a good tutorial
>>on building a chat system such as in the ubiquitous "Thinking in Java").
>>There is also JMS which gives you a low-level core. If you want
>>something higher level, just get Smack from jivesoftware.com, which will
>>give you an OO interface to Jabber (XMPP). Then get jabberd from
>>jabber.org. jabberd 1.4  is small, written in C and gets the job done
>>for what you are talking about, so I would start with that. They are
>>working on the 2.0 "enterprise" version.
>>
>>I will warn you that while Smack is a great library (you'll get classes
>>such as "Chat", "Packet", "Message", "Presence", etc.), there are some
>>pitfalls related to Threading to watch out for. I rewrote about a half
>>dozen of the core classes. Fortunately, Smack operates with just two
>>main disptach Threads so once you spend some time with the PacketReader
>>and XMPPConnection classes, you'll figure it out. Apache license, too.
>>
>>Erik
>>
>>
>>masegui wrote:
>>
>>    
>>
>>>The requirements are these:
>>>1. A user has a list of the other users in the system. He can click a
>>>button that initiates a conversation with the selected user. The other
>>>user can accept or not the conversation. If accepts, a "chat room" is
>>>opened and now then can have a conversation. The rooms only accept 2
>>>people. We would like a user to be able to have several conversations at
>>>a time, but each conversation only between 2 people.
>>>
>>>Thanks in advance.
>>>
>>>Miquel Angel Segui
>>>
>>>
>>>
>>>      
>>>
>>>><-----Original Message----->
>>>>From: Leon Rosenberg
>>>>Sent: 4/5/2005 10:50:38 AM
>>>>To: user@struts.apache.org
>>>>Subject: Re: [OT] Recommendation of Instant Messagging System
>>>>
>>>>if your only functionality is to allow users to send each other
>>>>
>>>>
>>>>        
>>>>
>>>messages
>>>
>>>
>>>      
>>>
>>>>which are embedded in the site (html, or something, but no
>>>>standalone-desktop solutions) forget about existing systems and
>>>>implement it by yourself.
>>>>I have implemented dozens of such systems over the time, it's normally
>>>>about 100 locs, much less effort than an integration of an existing
>>>>system is.
>>>>
>>>>maybe you could tell us a bit more, about the requirements of the
>>>>system, so we could give you more specific answer.
>>>>
>>>>regards
>>>>Leon
>>>>
>>>>On Wed, 2005-05-04 at 08:13 +0200, Miquel Angel wrote:
>>>>
>>>>
>>>>        
>>>>
>>>>>We are developing an application (struts 1.1 + Tomcat 5.5 + Java
>>>>>
>>>>>
>>>>>          
>>>>>
>>>1.4). One
>>>
>>>
>>>      
>>>
>>>>>of the requirements is to implement an instant messaging system for
>>>>>
>>>>>
>>>>>          
>>>>>
>>>the
>>>
>>>
>>>      
>>>
>>>>>users of the site (the system should not be very complex). Do you
>>>>>
>>>>>
>>>>>          
>>>>>
>>>mind to
>>>
>>>
>>>      
>>>
>>>>>share your experience in using this system. We are looking for free
>>>>>
>>>>>
>>>>>          
>>>>>
>>>or non
>>>
>>>
>>>      
>>>
>>>>>free systems.
>>>>>
>>>>>
>>>>>Thanks in advance.
>>>>>
>>>>>Miquel Angel Segui
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>---------------------------------------------------------------------
>>>>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>For additional commands, e-mail: user-help@struts.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>For additional commands, e-mail: user-help@struts.apache.org
>>>>
>>>>.
>>>>
>>>>
>>>>        
>>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>>    
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>For additional commands, e-mail: user-help@struts.apache.org
>
>
>  
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message