我想通知用户有人在不刷新页面的情况下向她发送了消息(例如)。 我正在使用php和jquery(AJAX)来处理这个问题。我打算使用 setTimeout() 对其进行编码;在 JavaScript 上检索数据库上的数据而不刷新当前页面。但是,我认为它会削弱搜索,并且如果我将来有更多的用户,会导致延迟。
你有什么想法来解决吗?
实现 WebSockets。有一个jQuery插件允许你使用Websockets,同时优雅地降级为不支持的浏览器。在PHP方面,有这个类似乎是PHP WS服务器使用最广泛的类。
Websocket 解决了这个问题,但增加了几个新问题(单独的端口,ws-server restart)。Twitter每60秒发出一次GET请求:
GET https://twitter.com/i/notifications?oldest_unread_id=0