近日,我的一个QQ上的好友A向我反映说,当我和他在进行QQ聊天时,他另一个QQ上的好友B可以在登录B他自己账号的状态下收到我和A的聊天信息的信息提醒,(他收到的提醒和我俩的聊天是即时同步的,不存在延后) 我的疑问是,在QQ这种软件的技术层面上,这种情况有可能发生么? 谢谢了大致的逻辑关系如下
我-------》A《--------B我和B与A的好友关系都是单向的,我与B并无任何联系,既不是好友,也从未在QQ上有过接触 
但B却能看到我和A的即时通信,而且据B说,他的QQ不仅可以接收到我和A的即时通信提醒,B的其他好友在与他人有即时通信时,他也可以收到信息提醒并查看内容,但无法回复或编辑消息可能我讲的有些乱,但还是希望有人能回答我的问题,真的是很不解。

解决方案 »

  1.   

    这个 就有点像p2p了  A成了中间服务器了。
      

  2.   

    恩 我不是这方面的从业人员 对这方面了解也有限 我就是想知道 基于QQ的技术架构上,这种情况有可能出现么?在系统正常没有病毒的情况下。还有,我列出的逻辑图就是说明下我和A与B的好友关系,没有任何技术层面的意思。 谢谢各位
      

  3.   

     要么 你的一个QQ上的好友A 电脑中了病毒,被监控了,就比较有可能.
      

  4.   

    恩 好的 谢谢上面大虾的解答 跟我那朋友沟通,他说这些也都是B告诉他的,空口无凭他也没有亲眼见过。所以我还是持怀疑态度,另问下,QQ这种软件的架构可能会发生这种所谓的误传输Bug么?
      

  5.   

    = =我觉得有点像IPAD上面的QQ嘛,我发现IPAD可以
      

  6.   

    QQ 这个是QQ 的一个推送方式 ,但是不存在 A to B 的时候 数据 会被C 收到,只是QQ 可以在不同的终端上登录(多地登录)模式,手机QQ有个消息推送的模式,只要这个账户在手机端不取消推送,会一直收到消息盒子,但是这个消息只有 A 发出的消息 没有B的。
      

  7.   

    照这个意思的话,也就是说 我发给A的消息,(系统正常时,无病毒感染)无论在任何时候都不会被B在登录其帐号时收到了?即使B与A存在好友关系。我与A的对话就更类似一个中间由服务器的点对点传输,而不是在特殊情况下的(如会话模式或群发)一点对多点。
      

  8.   

    太牛X了吧   这是TX的?
      

  9.   

    那我选把发的这部分发给你看看吧:protected void btnSendEmail_Click(object sender, EventArgs e)
    {
    SendSMTPEMail("smtp.sina.com", "[email protected]", "sina945733", "[email protected]", "一个主题", "今天是一个好日子!");
    }
    /// <summary>
    /// Email-Send
    /// </summary>
    /// <param name="strSmtpServer">如果是163邮箱就写smtp.163.com</param>
    /// <param name="strFrom">发件人的帐号</param>
    /// <param name="strFromPass">发件人密码</param>
    /// <param name="strto">收件人帐号</param>
    /// <param name="strSubject">主题</param>
    /// <param name="strBody">内容</param>
    public static bool SendSMTPEMail(string strSmtpServer, 
    string strFrom,
    string strFromPass, 
    string strto, 
    string strSubject, 
    string strBody
    )
    {
    SmtpClient client = new SmtpClient(strSmtpServer);
    client.UseDefaultCredentials = false;
    client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    System.Net.Mail.MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
    message.BodyEncoding = System.Text.Encoding.UTF8;
    message.IsBodyHtml = true;
    try
    {
    client.Send(message);
    return true;
    }
    catch (Exception ex)
    {
    return false;
    }
    }
      

  10.   

    不知可不可以 删除啊:
      我看贴时,一下就打开很多贴,(网速慢,不想等加载) ,copy 代码时,粘错了位置啊!
      

  11.   

    腾讯有qq消息推送的服务(貌似2010年开始),很常见的例子,比如微信的离线消息插件,不过像上面所说的
    A>>>>>B>>>>>>C在单纯的qq客户端上是不可能的。
      

  12.   

    你发送消息给A,假设需要提醒B,QQ客户端自然可以同时发送给B一个提醒。说“腾讯服务器可以转发”也是合理的。不然你在局域网,A在局域网,如果连腾讯的服务器都不知道那么你们之间怎么发送消息呢?所以只要QQ程序逻辑处理上正确,那么发送你给你消息时同时给别人一个消息,不管是否经过服务器,这都可以成立。
      

  13.   

    群发功能很简单,不要以为一定要通过接收者一个一个接力去发。至于说A和B有没有在腾讯系统上的特殊关系,我就不清楚了。我平常不使用QQ。但是策略是一种动态的东西,好比如说我们在自己的电脑上设置一个关于用户组的策略,然后策略就发送给所有用户了,于是每一个用户(即使单机时)其客户端就遵循新的策略工作了。这是谁会化的网络程序的一种很基本的设计。如果你只是做过用个sql server的客户端去访问数据库服务器这类所谓的“c/s程序”可能难以理解。但是如果你真正做网络程序,这种基本的设计一定会接触到,而且是一个核心的东西。客户端程序不可能都是一个“死的”程序,什么事情都去数据库查询。客户端一定是一个分布式的独立系统,保存一定的本地策略配置信息。
      

  14.   

    恩 谢谢楼上的解释 但是我和A的通讯其实并不涉及B 而且关键是发送消息的我与A的好友B在QQ上半并无交集 最后A所说的情况完全是听B一人空口无凭说的 不存在任何对该现象的第一人称的观察 所以我个人还是很怀疑此种说法 因为在正常使用无任何不正常或非法操作的情况下 此种Bug如果出现应该不会是个例 毕竟QQ的用户群是相当大的 如果是因为特殊使用环境或情况出现了以上我所描述的Bug 那收影响用户应该是一个群体 为复数 自然而然就会有该种消息流传出来 况且QQ现在的反Bug与漏洞的补救还是做得可圈可点的 这种严重的Bug即使真的出现 相信在短期内就会得到补救
      

  15.   

    就技术上来说,实际上一个好的社会化网络产品,一定会尽量通过客户端去做很多事情,以减轻服务器压力。这可能是很多只会做“关系数据库编程”的网络编程者所不能理解的。至于逻辑上如果A和B达成了某种关系,那是人家的事情。如果你认为是bug,可以反映给腾讯。不过腾讯客服90%的可能性会第一时间抓出逻辑上的客观存在关系,而不是程序问题。