久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » APP開發 » 正文

html5開發的移動web app如何連接服務器數據庫交互信息?

放大字體  縮小字體 發布日期:2017-04-24  瀏覽次數:312  【去百度看看】
核心提示:作者:知乎用戶鏈接:https://www.zhihu.com/question/26777760/answer/34044331來源:知乎著作權歸作者所有。商業轉載請聯系作者
 作者:知乎用戶
鏈接:https://www.zhihu.com/question/26777760/answer/34044331
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

首先,在你的例子里使用ajax方式訪問服務器是可行的,只要你的服務器端返回的response包含正確的Access-Control-Allow-Origin這條header。詳情參見HTTP access control (CORS)

然后,關于實時聊天的需求,可能的解決方案除了long-poll什么的之外,大約有以下兩種:
1、利用先進的WebRTC
WebRTC是一種新的Web標準,用于實現Web環境中的實時點對點通信,可以傳輸數據、語音和視頻。有一些第三方javascript庫可以方便的支持WebRTC,比如PeerJS - Simple peer-to-peer with WebRTC。但是!可惜的是,目前在“相對先進”的移動端的瀏覽器世界中,也只有Android Chrome 37支持它。想要利用它的優秀特性,可能只能再等等。
參見:Can I use... Support tables for HTML5, CSS3, etc
2、自行通過WebSockets實現
WebSockets是一種為實時雙向數據傳輸建立的Web傳輸協議,它使得服務器端能夠主動push數據到瀏覽器端。WebSockets目前在移動端的支持要略好一點,iOS 7以上和Android 4.4以上都可以支持。如果使用Crosswalk打包,應該可以在更多版本的Android系統上使用。基于WebSockets的第三方庫也不少,比如binaryjs.com/
參見:Can I use... Support tables for HTML5, CSS3, etc

當然,如果想要使用最傳統和古老的純HTTP請求方式,也不是不可以實現。瀏覽器端以固定的頻率向服務器請求數據,可以在一定程度上模擬實時通信。但是這樣的缺點也十分明顯,資源開銷過大,而且很難實現真正的實時(其實也是資源開銷……)。其他的,Java applets和Flash在移動端可能不是很可行的選項。

所以說,如果想要實現一個類似QQ群的應用,在移動端瀏覽器環境中目前可能的最佳選擇大約是基于WebSockets的方案。
一:服務器 設置header
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:X-Requested-With'); header('Access-Control-Allow-Methods:GET,POST,OPTIONS,DELETE'); 

二:聊天可用html5 裡的websocket ,想省事直接用 learncloud 提供的雲API 很好用。 LeanCloud

這裡是它的介紹 LeanCloud


 
 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 吉ICP備11001726號-6
企業800網 · 提供技術支持