If you are masochistic enough, as I was, to want to write your own client using sockets, you should check out ACE. It is a great real time communications package that wraps the low level stuff so you can focus on the application. Very active, well maintained, cross platform (I have identical Jabber code running on WIN32 and Solaris), and nicely documented. It is opensource. You can find it at the link below:
http://www.cs.wustl.edu/~schmidt/ACE.html Jonathan -----Original Message----- From: Glenn MacGregor [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 24, 2002 5:37 AM To: [EMAIL PROTECTED] Subject: Re: [JDEV] Jabber Client - Sockets problem First - You may want to look at some libraries that already do that, jabberoo (Linux, win32). JabberCOM (COM based win32) and there are some java libs as well. If you need to make your own, you should look at jabberoo for some ideas. I assume your lib is based on a select (or poll) loop, when select (or poll) returns with > 0 you need to read (or recv) on the active file descriptor(s). Both functions (read or recv) will work for you in linux but you need to use recv in win32. So you create a static buffer of whatever size you want (4 or 8k is usually good). You pass that to recv which fills it. Your lib needs to employ a SAX XML parser which you can pass the recv'd data to. If the data in the recv kernel buffer is larger than you can read you will get the rest on the next time through the select loop, pass it on to the parser. At that point the lib needs to use some kind of callback mechanism to call the app that is using the lib. Glenn ----- Original Message ----- From: "Rohit Nadhani" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, April 24, 2002 7:44 AM Subject: [JDEV] Jabber Client - Sockets problem > Hello, > > I am developing a Jabber client using sockets. > > Before calling the recv() function, I need to know one > of the following: > > - the message seperator so that I can recv() upto the seperator > - the no of bytes I need to recv() > > I can't fix the buffer size, since the incoming > message can be of any length. > > Can somebody suggest me the right way to recv() a > message from the Jabber server? > > Thanks in advance, > > Rohit > > __________________________________________________ > Do You Yahoo!? > Yahoo! Games - play chess, backgammon, pool and more > http://games.yahoo.com/ > _______________________________________________ > jdev mailing list > [EMAIL PROTECTED] > http://mailman.jabber.org/listinfo/jdev > _______________________________________________ jdev mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jdev _______________________________________________ jdev mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jdev
