你的思路错了,
QQ并不是用富文本(所以QQ一条消息里面不允许有2种字体\颜色\大小),
用富文本是可以的,但是会占用非常大的网络带宽,而且聊天记录体积将会非常可怕.
如果你做着玩还行,实用的话你需要使用一种简单标记语言.
(其实QQ也是对表情进行编号的,---包括自定义的图像也是,
分别传输再到另外一端做匹配替换)
用C#做的话你可以使用
Sockets,
在服务器端用一个
TCPListener
来监听,客户端用TCPClient并把收到的内容转发给目标客户端.
如果要节约带宽,可以加一个简单的压缩解压缩(比如gzip或flate之类的,不能用rar这种太费cpu的方式)