我想写一个类似QQ聊天的工具练习下,现在想知道QQ是怎么实现跟好友聊天的,我的思路有两个:第一个是,一端的client将消息发给服务器,服务器再将消息发给好友Client,这个方法的缺点是服务器的压力可能会很大。第二个是,用p2p形式的,一端的Client向服务器请求给某个好友发送消息,如果此好友在线,则将此好友的IP地址和端口号返回给请求者,之后请求者用返回的IP和端口号给此好友发送消息?刚开始学网络编程,上述的看法可能会有不妥,希望高手们可以指导下,还有腾讯是怎么实现这个功能的?