我看windows mobile資料同步方案

來源:互聯網
上載者:User
       距離上篇部落格似乎又過了一段日子了,這段日子應該算是掙紮著過來的,從尋找同步錯誤的過程到使用新的解決方案,總共花了近3個星期,我想自己有必要總結下這次的經曆。

      項目是使用C#+VS2008開發的,用戶端資料存放區採用SQL SERVER Compact Edtion 3.5,主要想應用在windows mobile 5.0作業系統及以上的手機。對於用戶端和伺服器端的資料同步,最初我們討論了好幾種方式,主要包括RDA,合併式複寫,webservice寫XML檔案或SQLCE。RDA使用起來雖然簡單、靈活,但因為其沒有衝突處理機制及跟蹤增量更改於是被第一個放棄.webservice寫XML檔案或SQLCE,我們粗粗估算了下,除了要另外建表外,沒有個幾千行代碼就搞不定的,這又背離了我們開速開發的宗旨。而且我們也無法保障使用webservice寫XML的效率。因此我們選擇了代碼量少,配置繁瑣的合併式複寫。

      程式的開發用了大約一個月左右,模擬器上調試均OK,將serverTool公開到外網,但發布到手機上了才出現A request to send data to the computer running IIS has failed的錯誤,因為那時候正準備將開發的結果展示給領導看,但這個錯誤卻是意料之外的,這個錯誤是指示資料連線逾時,當然了資料連線逾時的原因有很多,而尋找這個原因的過程更是讓人抓狂。起先還以為是網路連接逾時造成的,遂將資料刪除得只剩一條,但還是出現錯誤。於是將原因歸咎到了IIS訪問使用者的許可權,於是乎又將快照及複製及虛擬目錄的許可權均設定成最高。還是出錯。最後將原因歸到了合併式複寫的配置過程上了,於是重新設定了遍合併式複寫,還是這個錯誤。沒轍了,中間還使用過RDA來進行資料同步,但到了手機上還是這個錯誤。後來一個同事將手機串連到家裡的網路,隨意地點了下程式,發現可以。於是終於發現錯誤的源頭在CMWAP的代理上網方式上。

      百度了下GPRS網路,發現中國移動提供了兩種上網方式,一種是CMWAP的上網方式,採用10.0.0.172:80Proxy 伺服器,這種上網方式有些限制,首先,只有滿足以下兩個條件的應用才能在中國移動的cmwap接入方式下正常工作1、應用程式的網路請求基於http協議;2、應用程式支援http代理協議或wap網關協議。還有種是CMNET,這種方式沒有任何限制,與我們普通的PC機上網一樣,可以隨意地訪問各類型的網站,但這種方式的缺點是上網賊貴,在我們這邊是20元50M每個月,超過了按3分/K算,如果沒有超過還好說,假如超過了。。。假如一首歌是4M,那麼額外的你就得支付4*30=120元,汗呀..看來不能強求我們的使用者使用這種方式上網了。我們只能尋求另外的解決方案。

      不知道有沒有其他朋友使用合併式複寫成功地同步過資料,忘了加一個條件就是使用CMWAP上網方式。至少我失敗了,在各大論壇發帖求助,及瘋狂地向國內知名的windowmobile專家發送郵件,甚至我的同事還將問題翻譯成英文發送給window mobile小組,但均得不到滿意的答案,這裡我也感覺到了windows mobile行動裝置 App在國內實在是太少,或許是局限於國內的移動網路。

      希望這篇文章能給同樣遇到此問題的您帶來一點協助。好在我們現在尋找到了我們的替代方案,就是使用微軟最近才推出的Sync Service,因為是使用WebService做代理中介層,因此CMWAP的限制解決了。以後的文章中會介紹關於這個架構的使用心得,感覺速度還可以接受,第一次同步時(包括表結構及)花了35s,普通的同步12~13s之間,當然,這個資料只是針對的,在不同的手機和網路條件下不一樣,僅做參考。

      ps:這麼看似乎前面的合併式複寫的翻譯白寫了,其實不然,因為我們的同步方案並不一定使用移動的網路,比如說傳統型應用程式,具體還是要看應用了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.