RegistryServerRegistryServer的实现的实现XXXXRegistryServerRegistryServer的实现的实现•数据结构•消息发布•消息处理数据结构(实现的结构)数据结构(实现的结构)MessageTypeUniqueIdTimeMsgBodyMsgBodyContentProcess()数据结构(实现的结构)数据结构(实现的结构)MessageDisseminatorServerSocketMessageThread消息发布消息发布•全局:–Gossip算法(K=N)•两点间:–直接用Socket发送消息处理消息处理•消息在本地完成的处理作为消息的一部分,由消息本身完成•消息的接收和转发由Disseminator完成ServerManagerServerManager•运行Gui•启动和停止ServiceContainer和ServerDisseminator•处理有关Server的操作改进的想法改进的想法•主要是对数据结构的改进,算法基本不变•将MessageDisseminator独立出来,做成一个消息监听类,只负责消息的接收和转发。ServerMessageDisseminator和ClientMessageDisseminator不再继承MessageDisseminator而是将其作为数据成员,通过Delegation来实现消息监听。改进的想法(续)改进的想法(续)•将消息处理从消息中分离出来,为每一类消息构建一个消息处理类。MessageDisseminator接收到消息后,把消息抛给相应的消息处理类,由相应的消息处理类完成消息在本地的处理。如果有必要,可以构造消息解析类,找出每个消息对应的消息处理类。