Hi Erik, thank you so much for your information. it really helps me go in the right direction. i will do more homework on XMPP and Smack first.
really appreciate your help ! lixin On 5/6/05, Erik Weber <[EMAIL PROTECTED]> wrote: > 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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] > >>>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>--------------------------------------------------------------------- > >>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>>. > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > >> > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]