Windows Mobile下使用ZLIB壓縮

2022-05-07 14:39:12 字數 836 閱讀 1460

前言:

在當前手機應用中,可能壓縮技術不太引起重視,但是我們可以注意到一點,當手機與伺服器進行通訊的時候,速度與穩定性是非常重要,在這一環節中,我們如果把原檔案(或者原內容)直接傳送到伺服器,不僅耗費不少流量(在當前流量費不便宜的情況下,這種情況能避免就盡量避免),而且傳輸的速度慢,消耗的時間長,也有可能產生傳輸不完整等一系列缺點。所以如果我們採用壓縮技術,把要傳輸到伺服器的內容進行壓縮,可以減少傳輸資料量,減少傳輸時間,提高資料的穩定性,何樂不為!

測試平台:

vs 2005 + wm 6.0 

開發語言:

c ++

int nlen;  

char *pbuf;

cfile cf;

cf.open(l"\\my documents\\test.txt", cfile::moderead);

nlen = cf.getlength();

pbuf = new char[nlen];

cf.read(pbuf, nlen);

壓縮:

gzfile zipfile = gzopen("\\my documents\\test.gz", "wb");  

gzwrite(zipfile, (voidp)pbuf, nlen);

gzclose(zipfile);

8. 啟動除錯

總結:壓縮前文字檔案為92.8k,壓縮後檔案為15.3k,可見壓縮比例是接近1:6,通過傳送到伺服器的時間作乙個比較,壓縮前傳送到伺服器消耗時間為33285ms,壓縮後傳送到服務消耗時間為7214ms,可見傳送的時間也大大縮小,有利於我們建立高速穩定的通訊環境。

Windows Mobile下建立cmwap接入點

程式中如果要使用http或socket連線伺服器,需要先連線網路。connmgrestablishconnectionsync函式中的connmgr connectioninfo引數,不論採用iid destnetwap還是iid destnetinternet,似乎都要依賴於手機上的接入點設定。都...

Windows mobile下記憶體洩露檢測

crtdbg.h標頭檔案 如下 crtdbg.cpp 如下 然後在程式的main函式裡新增 crtsetdbgflag on 其實這是乙個 define crtsetdbgflag ignore garbagecollector gb 這樣的定義 在程式退出的時候會呼叫garbagecollecto...

windows mobile下實現非全屏視窗顯示

切換到別的視窗再返回後,出現全屏顯示的問題,已解決。初始化中 將視窗居中顯示。實現方法 建立如下dialog,繼承它的dialog都是非全屏視窗。nonfsdialog.h pragma once cnonfsdialog dialog class cnonfsdialog public cdial...