1.建立一个会话信息类,记录会话的用户sessionid,每个用户的最后发言时间,会话编号。
2.建立一个待发消息类,表示需要向前段推送的消息队列,记录消息内容、时间、收消息方的sessionid、发消息方的sessionid、名称等信息。
3.在服务器声明用户会话队列,当用户发起会话时,将参与会话的用户会话信息存储到该队列中,给该次会话一个编号,并在web前端记录该编号。
4.在服务器声明消息推送队列,当用户发送消息时,客户端向服务器传递消息内容、时间、会话编号,服务器根据会话编号找到参与会话的用户sessionid组,然后将要发送的消息信息记录到待发消息队列。
5.客户端使用ajax技术对待发消息队列进行轮循扫描,对每一个待发消息,该消息中的收消息方sessionid对应着本客户端,那么就将该消息取出显示,同时在服务器内存中删除该消息。
6.当用户关闭聊天时,从服务器的会话信息类中删除对应的会话组,并且在待发消息类中将对应的消息也删除。