Windows Mobile Gprs連接與數據傳輸

此模塊分兩部分完成,傳輸數據用socket?,要使用socketppc上進行數據傳輸,就要誰讓ppc自動連接gprs?。其中套接字和gprs鏈接分別進行說明。

?

一?,應用程序在進行其它所需的Windows?Sockets?API調用需要進行一次成功的WSAStartup()調用,然后就是套接字編程。分為服務器端和客戶端。

?

服務器:

先建立套接字


SOCKET WSASocket(int af,int type,int protocol,LPWSAPROTOCOL_INFO lpProtocolInfo,GROUP g,DWORD dwFlags);//具體參數參見設置MSDN

然后初始化一個SOCKADDR_IN結構體,然后用bind()將本地ip與端口與socket進行綁定,之后用listen()監聽該套接字,如果有連接請求則使用accept()建立連接,然后用send()recv()接受和發送數據,最后關閉套接字。

客戶端:

客戶端與服務器端不同的是不需要進行socket綁定,不需要監聽是否有連接請求,也不用accept()建立連接,而是用connect()發起連接請求。

?

進行調試時必須先運行服務器端,再運行客戶端。

?

二,首先我們利用ConnMgrApiReadyEvent()函數來確認是否有可用連接,利用此函數來我們可以返回一個連接事件的句柄?,注意在的得到句柄后要記得及時釋放,

然后用WaitForSingleObject()函數的返回值可以判斷在指定時間內是否找到可用連接,如果返回值WAIT_OBJECT_0說明有可用連接,然后通過ConnMgrMapURL?()函數來選則一個最好的鏈接,函數原型為:


HRESULT WINAPI ConnMgrMapURL( LPCTSTR pwszURL, GUID * pguid, DWORD * pdwIndex 
);

ConnMgrMapURL()是通過給定的pwszURL地址,讓系統自己選擇一條最適合的網絡連接來訪問該URL,如果手機可以通過GPRS/Activesync/Wifi/3G等多種方式訪問某個網絡資源,用這個API你就不用擔心到底該用什么方式聯網,系統會自己給你選一條最適合的網絡連接。第二個參數GUID?*?pguid是根據第一個參數pwszURL進行賦值,即你訪問的URL是http還是wap,每種都有一個全局唯一標識。然后通過ConnMgrEstablishConnectionSync()進行連接,此函數要傳遞一個CONNMGR_CONNECTIONINFO結構體,用于保存客戶端的連接信息。然后就可以進行socket通信了,就是第一部分所說的。最后用ConnMgrReleaseConnection()釋放連接。

?

提示:cmwap所獲得的地址是經過分組的,我抓幾次包都是10開頭的ip,輸入內網,外網的服務器找不到這樣的ip,cmwap是未分組的,抓包顯示的就是公網ip.

?

PS:較久以前做的關于windows mobile的項目


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458918.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458918.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458918.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言變量的類型和存儲位置

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 1. C語言變量主要分為全局變量、靜態全局變量、局部變量、靜態局部變量和寄存器變量。…

nginx+tomcat負載均衡

最近練習nginxtomcat負載均衡。根據一些資料整理了大體思路,最終實現了1個nginx2個tomcat負載均衡。 安裝JDK 1》進入安裝目錄,給所有用戶添加可執行的權限 #chmod x jdk-7u67-linux-i586.rpm //不知這步有沒有必要 2》安裝JDK 輸入命令#rpm –ivh jdk-7…

linux 最強shell,最牛B 的 Linux Shell 命令(一)

引言Shell作為Unix系操作系統當中最有魅力且不可或缺的組件,經過數十載的洗禮不僅沒有被淘汰,而且愈加變得成熟穩健,究其原因,大概因為它是個非常穩固的粘合劑,能夠把大量功能強大的組件任意配搭,總能很好很…

更改Docker默認的images存儲位置

Docker的鏡像以及一些數據都是在/var/lib/docker目錄下,它占用的是Linux的系統分區,也就是下面的/dev/vda1,當有多個鏡像時,/dev/vda1的空間可能不足,我們可以把docker的數據掛載到數據盤,例如:/dev/vdb目錄…

malloc/free和new/delete的區別

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** malloc與free是C/C語言的標準庫函數,new/delete是C的運算符。它們都可用于…

HDU 1217 Arbitrage (Floyd + SPFA判環)

題目鏈接:HDU 1217 Arbitrage 簡單的貨幣轉換問題,給定多種貨幣,以及貨幣之間的匯率,問能否通過貨幣的轉換實現收益。 例如: 1 US Dollar buys 0.5 British pound, 1 British pound buys 10.0 French francs, and 1 F…

linux libbz2.so.1,libbz2.so.1.0 = not found 試過了鏈接和設置環境變量

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓LD_LIBRARY_PATH. ldd steamui.solinux-gate.so.1 > (0xf7700000)libtier0_s.so > ./libtier0_s.so (0xf648e000)libv8.so > ./libv8.so (0xf5ba3000)libvideo.so > ./libvideo.so (0xf57e2000)libvstdlib_s.so > .…

對互聯網中常見地圖的坐標系探討

文章版權由作者李曉暉和博客園共有,若轉載請于明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。 1.背景 目前項目中使用百度地圖、高德地圖、谷歌中國地圖、天地圖的需求越來越多,這里我跟大家一起對各地圖使用的坐標系做一個簡單的探討。…

unsigned int + int型結果分析

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 代碼如下: “//”后為調試中的結果 unsigned int a 6; //a 6 …

MAC OSX在視圖port哪個程序占用,殺死進程的方法

sudo lsof -i :9000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 61342 a 313u IPv6 0x1111111111111 0t0 TCP *:cslistener (LISTEN)在此基礎PID殺死進程:sudo kill -9 61342 版權聲明:本文博主原創文章&am…

訊飛輸入法有沒有Linux,Debian testing 安裝訊飛輸入法 - Linux系統與應用 - LinuxApp - 水木社區...

突然發現Deepin發行版帶有訊飛輸入法,于是折騰了一會,安裝好了這個輸入法,現把安裝過程分享如下:軟件包的依賴:Package: iflyimeVersion: 0.9.962Section: develPriority: optionalArchitecture: amd64Depends: libboo…

幾種C#程序讀取MAC地址的方法

原文:幾種C#程序讀取MAC地址的方法以下是收集的幾種C#程序讀取MAC地址的方法&#xff0c;示例中是讀取所有網卡的MAC地址&#xff0c;如果僅需要讀取其中一個&#xff0c;稍作修改即可。 1 通過IPConfig命令讀取MAC地址 ///<summary>///根據截取ipconfig /all命令的輸出流…

寫出float x 與“零值”比較的if語句——一道面試題分析

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 寫出float x 與“零值”比較的if語句 請寫出 float x 與“零值”比較的 if 語句&…

Conditional project or library reference in Visual Studio

Conditional project or library reference in Visual Studio In case you were wondering why you haven’t heard from me in a while, I’ve been busy, which isn’t really of much importance unless you know me on a personal level. What is relevant is that I recen…

linux 雙mipi攝像頭,VS-RK3399 在linux系統下面調試Mipi camera接口介紹

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓debian系統目前支持Usb camera是沒有問題&#xff0c;走UVC功能接口。那么mipi 接口camera和并口接口的camera&#xff0c;在Debian系統怎么設置呢&#xff0c;其實原理一樣&#xff0c;也走uvc接口封裝函數.下面深圳視壯給大家簡單…

HTTP必知必會

2019獨角獸企業重金招聘Python工程師標準>>> HTTP消息HTTP請求消息HTTP響應消息消息首行請求行響應行消息頭部請求頭請求頭消息正文請求正文響應正文Web服務器把接收到的HTTP請求消息封裝成request對象&#xff0c;作為service的參數傳入service函數&#xff0c;ser…

float數據在計算機內存中的存儲方法

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 浮點型變量在計算機內存中占用4字節&#xff08;Byte&#xff09;,即32-bit。遵循IEEE…

Geometric Shapes - POJ 3449(多邊形相交)

題目大意&#xff1a;給一些幾何圖形的編號&#xff0c;求出來這些圖形都和那些相交。分析&#xff1a;輸入的正方形對角線上的兩個點&#xff0c;所以需要求出來另外兩個點&#xff0c;公式是&#xff1a;x2:(x1x3y3-y1)/2; y2:(y1y3x1-x3)/2;x4:(x1x3-y3y1)/2; y4:(y1y3-x1x3…

更新10_linux,時隔十年,QQ更新了Linux版本

昨天1024程序員節&#xff0c;QQ悄悄地更新了QQ for Linux&#xff0c;也許是給各位一個驚喜吧。官網及其的簡陋。和一個Word文檔似的。十年一更&#xff0c;有網友稱&#xff0c;瞬間回到QQ2006&#xff0c;確實界面功能有些落后&#xff0c;相信QQ可以跟上潮流的&#xff0c;…

[滲透測試]掃目錄,Sqlmap利用均超時,利用dirb掃描

今天碰到一個網友傳來的Webshell地址&#xff0c;問我對方如何取得webshell。 網站為阿里云服務器&#xff0c;存在明顯的注入漏洞&#xff0c;但是任何語句都會令網頁報錯&#xff0c;sqlmap一直超時&#xff0c;御劍掃描目錄1個線程也會導致被屏蔽IP。 經一學長提點&#xff…