日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows Mobile Gprs连接与数据传输

發布時間:2023/12/19 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的項目


總結

以上是生活随笔為你收集整理的Windows Mobile Gprs连接与数据传输的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。