I think the answer is no.
Besides, why would you want to have differnt streams for different information.
Just send it all down the same socket, and label the message so that the server can find out the type of message sent.
for example:
CLIENT sends the following message to server requesting to logon:
/logon: <username> <password>
---------------------------------------------------------------------------
SERVER PROCESS
msgType = inMsg.substring(0,<index of :>
;
if(msgType.equals(Messages.LOGON))
// store IP, check username and pw against a db.
else if(msgType.equals(Messages.LOGOFF))
// log the user off, i.e. remove there IP address from some static list
Hope this helps.