最近写的javaqq快完工了。。 
可是写到最后的时候有个问题不知道怎么解决了 
陌生人怎么处理的问题 
比如我的好友,我最起码知道他的javaqq号码。 
但是陌生人我去什么都不知道, 
当陌生人发来根据我的ip和端口号发来消息的时候,虽然我可以监听到,但是我却不知道怎么让他显示出来 
这方面有有经验的同胞吗 
捆饶很长时间了,解决不了。。 //--------------------------------------------------我先说一下我设计的“好友发送消息来的处理方法”
我是在javaqq初始化的时候,就根据每个好友的qq号码,把属于他们的窗体生成出来了然后visible属性设置成false,然后存放到一个hashmap里。当好友发送消息过来的时候,就把他们的qq号码解析出来,根据qq号码,把他们的窗体的visible属性设置成“true”,然后把对方发送的消息加在到窗体上就可以 
如果对方是陌生人,我没有事先给他准备好的窗体,即便把他的qq号码给解析出来也无法让他的消息显示出来,因为找不到对应的窗体。 
该怎么办呢 

解决方案 »

  1.   

    不客气的说你的
    好友发送消息来的处理方法
    本身就是inefficiency and illogical
      

  2.   

    难道我有100个好友就100的隐藏窗体?
    考虑用户的开销
    CPU是给用户工作的
    不是给我们编程人员
      

  3.   

    以前做过这方面的东西,和你的思路差不多你那个HashMap可以只存收到信息好友的号码,并且这个号码是已经显示的窗体的号码,
    如果找到就直接显示窗口,没找到在创建新窗体,但要有个窗体管理器,来控制是显示已有的还是要创建新的。
    窗体中要显示聊天记录的话,可以把聊天记录存成文件,每次读文件。关于陌生人的话,就要看你的程序之间自己定义通信协议,
    就是两个用户通信哪些信息(譬如QQ号码)是必须的。
      

  4.   


    使用好友的qq号在一个hashmap中查找他的窗口,如果没有找到就说明还没有创建,那么就创建并将其放进前面的那个hashmap中;如果找到则说明已经创建,直接显示就可以了
      

  5.   

    用户那边的聊天界面是jsp的网页的形式,不存在创建窗体的问题啊,问题也就麻烦到这了
    要是swing的也就好说了
    但是是web的,我就不知道该怎么创建窗体了。。
    并且他们所有的web都在服务器(web容器)执行啊。
      

  6.   

    web和swing一样简单啊,ajax异步调用javascript控制页面就ok了,如果你可以处理好好友就能处理好陌生人,显示使用的是Dhtml技术