the clients will be able to chat one-to-one and in group (temperately rooms) similar to Skype.
I will use the server to authorize the clients
my question is which is better to go with?
(WCF) or (TCPClient, StreamReader, and StreamWriter)
cheesr
I would vote for WCF also, as it will provide you with a common interface for doing a client/server architecture regardless of what protocol (binding) you choose behind the scenes. For example, you could very quickly make your chat program work across HTTP via SOAP with just a few configuration changes. WCF will also allow you to easily interoperate with clients written in different languages, but is optimised for .NET on both ends using the NetTcpBinding.
WCF will also work seamlessly with Visual Studio and is included in the .NET framework 3.0 and above, so no third party libraries will be required.