聊天室,显示谁在线
使用 BlazeDS,我开发了一个简单的聊天室,但是如何显示谁在线?如果用户关闭网络浏览器而不断开连接,会发生什么情况,在线列表中的用户名会立即删除吗?
我使用 mx.messaging.channels.StreamingAMFChannel 并设置
<subscription-timeout-minutes>3</subscription-timeout-minutes>
Using BlazeDS, I have developed a simple chat room but how do I go about showing who is online and what happen if the user close the web browser without disconnect, will the user name in the online list be remove immediately?
I use mx.messaging.channels.StreamingAMFChannel and set
<subscription-timeout-minutes>3</subscription-timeout-minutes>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
服务器无法检测到用户关闭了浏览器,因此如果您希望能够尽快删除用户(并且不依赖超时机制),则需要捕获 onbeforeunload 事件。在这种情况下,向服务器发送请求,然后您可以将该用户从在线用户列表中删除。
有很多如何捕获事件的示例。其中一个是这里。
There is no way for the server to detect that an user closed the browser, so you need to catch the onbeforeunload event if you want to be able to remove the user as soon as possible (and not relying on a timeout mechanism). In this event send a request to the server and then you can remove the user from the online user list.
There are a lot of example how to catch the event..one is here.