还是老问题,关于QQ群聊,大家来讨论下? 本帖最后由 VisualEleven 于 2011-07-19 16:23:05 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个我想不到,你问这个问题,让我觉得应该让用户直接发给用户可能更大以下是我个人猜想:用户登录后,服务器返回各个群每个在线用户的IP并保存起来,然后每当有用户上线的更新一次数据当有用户在群里发消息的时候,查本地保存的相关的群用户IP,并向他们发出消息,对不在线的则存在服务器用户信息中,当用户上线的时候就查询未读消息这样不知道我说的清不清楚,大概就是这样,应该能大大减轻服务器负担 上面的想法是我从彩虹QQ那想到的,彩虹QQ与其它用户聊天就能知道好友的IP,我想应该是直接发到目标IP去的,对于不在线的用户则存在服务器中,等下次上线读取 现在开发的项目是基于XMPP协议的,信息传送方式采用的是服务器转发,所以寻求一种方式来避免群聊可能带来的延迟问题 敢问有没有朋友知道XMPP协议 下能否支持群聊这个操作? 对于XMPP这个协议 对于新手该怎么接受呢? 只是看着标准解释有点太抽象了~~ 谁来把它形象化描述一下 哎~ 看了一天 还是朦朦胧胧 应该是P2P聊天,提供几个函数,你可以去找找资料(貌似很不好找)PeerGraphStartupPeerIdentityCreatePeerCreateNamePeerGraphCreate等等 给你一个QQ的源码吧SVN的连接。 需要安装Dev-Cpphttp://myqq3.googlecode.com/svn/trunk读一下里面群消息相关的代码,我看的是直接发到服务器上了 1.3亿在线。TCP协议每个服务器承受10W的话,你算算要多少服务器光QQ聊天起码130000000/100000=1300台保守QQ服务器起码万台左右我QQ一上午消耗流量10M1.3亿要13亿M130万G流量一上午。。要多少服务器来承受呢?一小时20万G流量啊。百兆的话满负荷一小时几十G也差不多了。这么算也有上万台了 一上午10m 出去图片呢? 图片他不保存吧tx最少有好几万台服务器吧,而且应该都是顶级配置的 qq没上万台还玩屁,google百万台 通过服务器转发的应该试过把QQ的服务器IP都找出来,基本上都是一整个IP段的而且添加速度很快,基本上1个礼拜就会多出几个IP 点击qq群,qq群服务器发送此群所有人ip给你你在把信息发送出去。这样子也有可能啊,减轻qq服务器的负担。这中群聊各种可能。 这貌似又进入那个问题了,sp曾经说过的,QQ你给别人发消息也是经过QQ服务器的,这么多用户肯定是多线程,一个用户一个线程的话,曾经QQ同时在线1亿人,每个人发一条消息的话,岂不是要用1亿个线程?服务器肯定受不了,是吧?事实上是,人家可能用了不到1万个或者更少个线程所以,即使有千万个群,服务器是可以处理的 我觉得这属于“应用层组播”,具体我也不太懂,你可以找相关的技术资料研究一下,不过挺复杂的。Internet上组播本来就挺复杂的,协议和算法重多,但没有完美的。 现在开发的项目是基于XMPP协议的,信息传送方式采用的是服务器转发,所以寻求一种方式来避免群聊可能带来的延迟问题 现在开发的项目是基于XMPP协议的,信息传送方式采用的是服务器转发,所以寻求一种方式来避免群聊可能带来的延迟问题 Using network monitor tool to monitor the network data of QQ message.You will find the answer. sdadas 应该是服务器转发的,你想想看,对方下线后你给TA发了一条信息留言,TA再上线能看到。是不是这样的?我不知道啊,纯讨论 一个再简单不过的多线程同步问题。。。 VC访问EXCEL保存的问题 为什么在OnDraw()函数里BitBlt后没有效果? RegSetValueEx 在vista上失效了,怎么办? 这是需求,回贴有分!!!! WriteFile这个函数 用CByteArray怎么实现? 有关CFileDialog的一个小问题! CString类型的字符串分隔问题 内存释放问题 vc中如何设置对话框中控件上的字体属性 如何让程序崩溃后自动重启 新人提问:iocp客户端 服务器发送接收 空白?
以下是我个人猜想:
用户登录后,服务器返回各个群每个在线用户的IP并保存起来,然后每当有用户上线的更新一次数据
当有用户在群里发消息的时候,查本地保存的相关的群用户IP,并向他们发出消息,对不在线的则存在服务器用户信息中,当用户上线的时候就查询未读消息这样不知道我说的清不清楚,大概就是这样,应该能大大减轻服务器负担
PeerGraphStartup
PeerIdentityCreate
PeerCreateName
PeerGraphCreate
等等
SVN的连接。 需要安装Dev-Cpp
http://myqq3.googlecode.com/svn/trunk读一下里面群消息相关的代码,我看的是直接发到服务器上了
光QQ聊天起码130000000/100000=1300台
保守QQ服务器起码万台左右我QQ一上午消耗流量10M
1.3亿要13亿M130万G流量一上午。。要多少服务器来承受呢?一小时20万G流量啊。百兆的话满负荷一小时几十G也差不多了。这么算也有上万台了
试过把QQ的服务器IP都找出来,基本上都是一整个IP段的
而且添加速度很快,基本上1个礼拜就会多出几个IP
这样子也有可能啊,减轻qq服务器的负担。这中群聊各种可能。
Internet上组播本来就挺复杂的,协议和算法重多,但没有完美的。
是不是这样的?我不知道啊,纯讨论