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

局域网通信程序客户端的消息处理
客户端我想做成类似QQ那样的界面,同时和不同的人聊天是生成几个聊天窗口。每个客户端分为服务器和客户端两部分,服务器负责接收所有消息,并将消息放在一个队列中等待处理。现在问题是:如果我和三个人聊天,有三个不同的聊天窗口,服务器接收到来自三人的消息,并将消息放如了队列中,那么在处理队列中消息时,如何把对应的消息发送到对应的聊天窗口中呢?
不知道我的问题描述清楚了没。我初学者,请各位帮帮忙,我都想这问题几天了。

------解决方案--------------------
我有这样一个思路,你可以试验一下
1.在你的程序原有基础上,也就是每个终端都有一个服务端和一个客户端
2.服务端都用线程写,在接收到客户端消息以后NEW出来一个窗体,并且传值到窗体
3.接收消息的同时你把信息写到终端本地文本里,格式你自己定,能读出来以下信息即可(消息时间,消息内容,消息来源...)
4.将接到的消息的来源与文本文件的消息来源对比,如果一致提取你要的该条信息
5.将提取的信息append到你的显示窗口
6.将得到的新消息append到你的显示窗口
------解决方案--------------------
这需要你自己定义消息结构。用UDP 或是 TCP 都行。(如果不传文件的话。)
你可在CSDN的下载栏中搜索一下,我以前下过这样的例子。