张无忌先生:
谢谢你的回复。对于你所介绍的方法,我有点疑惑。我想,假设一个QQ用户平均有100个好友,当他登陆服务器时需获取好友信息和各类设置信息,按你的做法服务器要发送120-150个数据包,如果并发数百个会员登陆,那么不就要发送数万个数据包吗?这样做网络开销会很大,同时降低了客户端获取数据的速度。毕竟,单个好友信息的数据长度很小,考虑到数据发送时要包含协议报头,所以发包次数越多效率就越低。不知道有没有办法将数据库整个打包传送?这样一方面减少发包次数,另一方面还可以采取数据压缩来减轻传送量,岂不是两全其美?
前面有个朋友提示我用record数组,我发现效果不错,至少解决了多记录一次发送的问题,但如果要压缩数据的话,好像还得将record数组变成流才行。
当然我的想法还比较肤浅,不知你能否给出更好的建议和指教。