Windows Mobile Gprs连接与数据传输

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介:

此模块分两部分完成,传输数据用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的项目


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
4月前
|
NoSQL 网络安全 Redis
用Windows连接Liunx中的redis
用Windows连接Liunx中的redis
53 0
|
10天前
|
Windows
windows 电脑 连接蓝牙耳机没有麦克风
【8月更文挑战第31天】当Windows电脑连接蓝牙耳机后无法使用麦克风时,可尝试以下步骤解决:检查蓝牙设置,确保耳机正确连接并开启麦克风选项;检查音频设备设置,确认蓝牙耳机为默认播放和录制设备;更新蓝牙和音频驱动;确认耳机与系统的兼容性及正确设置。如问题未解,可重新配对耳机或联系客服。
245 7
|
1月前
|
网络协议 安全
揭秘TCP背后的秘密:为何三次握手是连接的灵魂,四次挥手是告别的艺术,让数据传输稳如老狗!
【8月更文挑战第4天】TCP为何需三次握手和四次挥手?三次握手确保连接建立时双方均准备好并确认序列号,过程包括:客户端发SYN包;服务器回应SYN+ACK;客户端再回ACK确认,确保可靠通信。四次挥手则确保连接终止时双方能安全、有序地结束数据传输,包括客户端发FIN包;服务器回应ACK并可能继续发送数据;完成后发FIN包;客户端最终确认,确保无数据丢失或状态不一致。
54 9
|
18天前
|
开发框架 JavaScript .NET
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
|
28天前
|
网络协议 应用服务中间件 nginx
性能提升-如何设置Windows操作系统TIME_WAIT状态的TCP连接快速回收时间?
性能提升-如何设置Windows操作系统TIME_WAIT状态的TCP连接快速回收时间?
27 0
|
28天前
|
Windows
Windows 映射网络驱动器及删除-此网格连接不存在
Windows 映射网络驱动器及删除-此网格连接不存在
27 0
|
2月前
|
网络安全 数据安全/隐私保护 Windows
Windows自带的远程桌面连接教程
Windows自带的远程桌面连接教程
46 0
|
4月前
|
Shell 开发工具 Android开发
|
3月前
|
数据安全/隐私保护 Windows
windows系统bat批处理 查看当前电脑连接过的wifi名字和wifi密码
windows系统bat批处理 查看当前电脑连接过的wifi名字和wifi密码
161 0
|
3月前
|
Linux 网络安全 Windows
ssh连接缓慢 ssh连接失败问题 Linux 脚本解决ssh连接缓慢问题,windows解决本地ssh连接失败
ssh连接缓慢 ssh连接失败问题 Linux 脚本解决ssh连接缓慢问题,windows解决本地ssh连接失败
48 0