Yes, you'll need both client and server in each app if it is 2-way chat. Server for listening to incoming messages, and client for sending messages to the listening server.
I'm working on this at the moment. I think, you want to build an app like WhatsApp.
Problem is that de devices don't know the other devices ip adress and there are restrictions (provider). So you need an instance between them (server).
I connect to a database and store the message. The other device takes a look and downloads the message. I will upload an example when I have time (including automatic registration by mail).
For Android + Windows Phone+ iOS compatibility you'd need to either write/build for each platform separately or use cross platform development tools. I don't know what the best options are for an SDK that targets all three (I'm using JUCE at the moment, but that doesn't do W8P), but there are shadows on the horizon that look like there will be a b4A equivalent for iOS in an unknown length of time.
Having said that, it's worth getting your hands dirty with a few other SDKs just to make using b4a even easier when you come back to it.