代码改变世界

6.5 开发笔记-异步TCP通信,响应服务器发来的消息,并处理消息

2010-06-05 19:58  马克曼  阅读(185)  评论(0)    收藏  举报

今天晚上的开发,继续遇到问题,由于中心站和服务器采用异步通信机制,中心站对已经发出的消息,不必等待服务器的返回而采取相应的动作,而是当服务器返回时 自动去判断消息的类型采取相应的动作。  这里就遇到了问题,由于服务器返回的消息过于简单,不便于中心站根据消息类型采取相应的动作,

比如

中心站发出一条注册终端的消息,消息内容为  命令+终端号,然后中心站就去干别的事情了,不必等待服务器返回。

服务器在成功注册之后返回  命令+Success代表注册成功,这就要求中心站在收到这条消息是能够判断出哪个终端注册成功,此时利用一个事件集数组来实现这部分内容,原理如下:

在向服务器发送事件消息的时候,同时把此消息加入事件集(一个一维数组代表发出的消息),待中心站收到消息后去查事件集列表,来判断此服务器发来的消息,对应于中心站发出的哪条消息,然后采取行动。