专栏首页施炯的IoT开发专栏IM over Socket Between Windows Mobile Devices

IM over Socket Between Windows Mobile Devices

    在《利用WiFi在Windows Mobile上建立Ad-hoc网络》一文中,讲述了利用WiFi在Windows Mobile上建立Ad-hoc网络的方法,在Windows Mobile 6与Windows Mobile 2003se for Pocket PC给出了演示。那么,点对点的Ad-hoc网络能够完成什么功能呢?一方面,它可以用来消息的实时发送与接收,也就是俗称IM(Instant Messager);另一方面,可以用来传送文件。这篇文章先来讲讲如何利用Socket来实现Windows Mobile设备之间的IM(其实Windows Mobile设备与PC同步以后,可以通过Socket与PC实现通信,具体可以参考Fox的Blog:Windows Mobile的简单IM程序(Socket via C# ))。

    1. 应用分为Server端和Client端,写应用程序的时候,参考了《EVC高级编程及其应用开发》的第9章和第11章,该书的源代码可以在http://www.waterpub.com.cn/上下载。

    2. 开发环境为Visual Studio 2008 + Windows Mobile 2003 for Pocket PC SDK + Windows Mobile 6 Pro SDK,使用MFC来开发。

    3. 新建项目的时候,在Advanced Features选项中,选中Windows sockets,以添加对Socket的支持。如下图1所示:

图1: 添加Windows sockets支持

    4. 设计Server端和Client端简单的UI,如下图2所示:

图2: Server端和Client端简单的UI

    5. 通过Add Variable为控件添加成员变量。

    6. 参考《EVC高级编程及其应用开发》第11章的内容,进行代码编写。Server端和Client端的文件组成如下图3所示:

图3: Server端和Client端的文件组成

    7. 在Client端,CTCPClient_CE类完成TCP客户端操作的封装,然后在对话框中调用该类与TCP服务器建立连接,并进行数据传输,最后再断开与服务器的连接。在Server端,CTCPServer_CE类负责监听客户端的连接,一旦客户端有连接请求,它就负责接收此连接,并创建一个新的CTCPCustom_CE对象与客户端进行通讯。而CTCPServer_CE类接着监听客户端的连接请求。

    8. 代码测试。按照《利用WiFi在Windows Mobile上建立Ad-hoc网络》的方法,利用WiFi在Windows Mobile上建立Ad-hoc网络。在Windows Mobile 2003se for Pocket PC设备上运行Server端程序,在Windows Mobile 6 Professional设备上运行Client端程序,如下图4所示:

图4: 设备测试截图

注:Server端和Client端均采用异步Socket方式通信。

最后,放上源代码,从这里下载:TCPTest.rar,希望对大家有用。

参考链接:

1. 《利用WiFi在Windows Mobile上建立Ad-hoc网络

2. 《Windows Mobile的简单IM程序(Socket via C# )

3. 《EVC高级编程及其应用开发》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • File Transfer over Socket Between Windows Mobile Devices

        在《利用WiFi在Windows Mobile上建立Ad-hoc网络》一文中,讲述了利用WiFi在Windows Mobile上建立Ad-hoc网络的方...

    ShiJiong
  • Windows Mobile 6.5.3 Developer Tool Kit

        目前,微软正在花大量的人力物力财力做Windows Phone 7,而且据说以后会给出硬件平台配置需求,目前的Windows Mobile 6.x系列机...

    ShiJiong
  • DumpMem and Monster - Virtual Memory Explorers on Windows Mobile/CE

          Windows Mobile 5 和 6的平台是建立在CE5.x的基础上的。当可用的内存很少时,平台会自动关闭应用程序。而且,在这个移动平台上,同时...

    ShiJiong
  • Windows DNS 服务器远程代码执行漏洞(CVE-2018-8626)

    近日,一个Windows DNS服务器远程代码执行漏洞曝光,Windows DNS(Domain Name System)服务器处理请求时存在缺陷,从而导致存在...

    HACK学习
  • cmd

    在 PC 行业的早期,大多数计算机完全是通过在命令行输入命令来操作的。 基于 Unix、CP / M、DR-DOS 等机器争夺地位和市场份额。 最终,MS-DO...

    iOSDevLog
  • Windows Mobile 6.5 开发者工具包

        在一段时间的等待之后,Microsoft终于在其下载中心开放了《Windows Mobile 6.5 开发者工具包》的下载。这对于广大Windows M...

    ShiJiong
  • 创建链接服务器(dblink)

    写代码的猿
  • 超火GitHub项目!一夜获得5000星,竟是微软开源的计算器

    微软在 MIT License 下开源了一个 GitHub 项目——Windows 计算器,短短 24 小时内就获得了接近 5000 颗星,并引发大量讨论。这个...

    刀刀老高
  • 超火GitHub项目!一夜获得5000星,竟是微软开源的计算器

    此次开源的目的是想要「与社区一道打造更好的用户体验」。开源计算器意味着任何人都可以为改善这一 app 贡献代码,但微软会在实现新的功能原型、用户界面变动之前对它...

    机器之心
  • GitHub日收7000星,Windows计算器项目开源即爆红!

    昨日,微软官宣在 MIT 许可证下开源了 Windows 10 操作系统自带的计算器应用,源代码已托管在 GitHub 上。该项目发布即蹿红,在 GitHub ...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券