今天又跟教授讨论了一下,流程基本确认了下来,解析XML放在客户端,跟消息有关的逻辑,包括对数据库的操作,都放在服务端,
现在打算这样:
1。客户端传入一个XML,然后发送的时候将其解析为结构体,直接发过去,然后服务器根据这个结构体来处理。
2。实现一个临时的消息列表,将消息临时保存在其中,优先从列表中读数据,减少对数据库的操作。
3。实现保持在线的机制,由客户端定时给服务端发送一个消息来确认其处于在线状态,一旦不在线,则发送的时候,将不再发送给他。
4。在发送消息时采用多线程来处理。
几种消息的处理:
登陆的时候发送一个登陆消息
定时发送一个保持在线消息
登出时发送一个登出消息
发消息的时候,发送一个标准消息
发文件时,先请求服务端获取目标的IP和PORT,然后进行传输一个请求的消息,收到后开始接受