web在线实时聊天的一种方法

1.建立一个会话信息类,记录会话的用户sessionid,每个用户的最后发言时间,会话编号。

2.建立一个待发消息类,表示需要向前段推送的消息队列,记录消息内容、时间、收消息方的sessionid、发消息方的sessionid、名称等信息。

3.在服务器声明用户会话队列,当用户发起会话时,将参与会话的用户会话信息存储到该队列中,给该次会话一个编号,并在web前端记录该编号。

4.在服务器声明消息推送队列,当用户发送消息时,客户端向服务器传递消息内容、时间、会话编号,服务器根据会话编号找到参与会话的用户sessionid组,然后将要发送的消息信息记录到待发消息队列。

5.客户端使用ajax技术对待发消息队列进行轮循扫描,对每一个待发消息,该消息中的收消息方sessionid对应着本客户端,那么就将该消息取出显示,同时在服务器内存中删除该消息。

6.当用户关闭聊天时,从服务器的会话信息类中删除对应的会话组,并且在待发消息类中将对应的消息也删除。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值