日期:2014-05-20  浏览次数:20660 次

难题: 如何实现类似QQ消息的收发方式?
我写的聊天程序“客户端”启动后会开启一个线程(只有一个)来监听是否有好友发来消息,有的话直接显示到打开着的相应的聊天窗口上。

  现在问题是:

  如果我没有打开聊天窗口,这时候别人给我发来消息就没有相应的窗口来显示这些信息,所以必须先保着,然后提示我消息来了,等我打开窗口后再显示出来,但是这些消息该怎样保存呢?同时又怎样能让我一打开对话窗口就显示出来呢? 

  ps:因为只有一个线程来监听消息,所以收到的信息要么马上发出去,要么先保存起来,不然会让这个线程阻塞,进而影响其它消息的接收。

  请问大家有思路吗?帮帮忙,先谢谢大家了!

------解决方案--------------------
类似于聊天记录,弄一个消息列表来存储,每条消息标记是否已读,打开聊天窗口的时候按时间将未读消息展示到窗口上即可。