Seems like you have two things going on -- the want for binary xml support and the need to write an app that can multiplex connections over a single port. Seems like it's mostly coming up with a protocol that allows different session id's in it's packets, or maybe I'm missing something? Anyhow, help me understand ... it sounds like this is going somewhere interesting but I'm not getting the problem clearly defined yet.