I’‘m trying to port smack to J2ME and succeeded EXCEPT for one issue: getting rid of Smack’'s blocking API. The problem is that Smack depends on sockets that support simultaneously reading and writing from/to a socket (also called full-duplex sockets). I have an IM client that runs on every J2ME emulator you can think of, but on not one REAL phone. The problem is that there are not many phones available that support full-duplex sockets.
I had a long discussion with Mariano a while ago how I could solve the problem, but our conclusion was that it might very well be impossible. Read the conversation here:
Now some time has passed and I went back to the project. There’'s a lot of interest in it, certainly with the increasing popularity of XMPP. I still think it would be great if Smack was available for J2ME phones (the majority within a short time). BUT BUt But but…that still requires me to solve that last killing problem of full-duplex sockets.
I guess my question is whether someone else here has any idea how we could avoid this blocking behaviour and finally get Smack working on a real Java phone.
My gratitude would be huge!