AJax技术

ajax,websocket,mysql做即時聊天可行嗎?

字号+ 作者:H5之家 来源:H5之家 2017-11-15 17:29 我要评论( )

既然都用WebSocket了,其實完全可以用WebSocket向伺服器提交數據,就不需要用AJAX再開一個HTTP連接了. 樓主的在線客服系統要把用戶的消息保存到資料庫,可以考慮先把消息存儲在Redis里,在連接關閉時再把消息存儲到MySQL,這樣就變成了一個連接(WebSocket或HTTP k

既然都用WebSocket了,其實完全可以用WebSocket向伺服器提交數據,就不需要用AJAX再開一個HTTP連接了.

樓主的在線客服系統要把用戶的消息保存到資料庫,可以考慮先把消息存儲在Redis里,在連接關閉時再把消息存儲到MySQL,這樣就變成了一個連接(WebSocket或HTTP keep-alive)對應一次資料庫批量寫,性能更好.

伺服器端建議用PHP的Swoole,處理WebSocket請求就3個事件(onOpen/onMessage/onClose)的事.

不過需要注意的是,一些瀏覽器如IE9/IE8都是不支持WebSocket協議的,這時你可以考慮降級到HTTP(Swoole監聽onRequest事件就能處理HTTP),用一個HTTP(AJAX)長輪詢連接來實現消息通知,伺服器端用Redis的PubSub實現消息通知,Swoole提供有非同步Redis客戶端,能實現非同步訂閱Redis頻道實時獲取消息.

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Laravel+jQuery实现AJAX分页效果

    Laravel+jQuery实现AJAX分页效果

    2017-11-16 08:06

  • 《ASP.NET AJAX实战》

    《ASP.NET AJAX实战》

    2017-11-15 17:11

  • django 70、django之Ajax初识

    django 70、django之Ajax初识

    2017-11-15 16:03

  • 在Ajax应用程序中实现实时数据推送 - 学习使用基于套接字的RIA技术

    在Ajax应用程序中实现实时数据推送 - 学习使用基于套接字的RIA技术

    2017-11-15 14:00

网友点评
a