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所示:

image

图1: 添加Windows sockets支持

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

image image

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

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

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

image image

图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所示:

Screen01 Screen02

图4: 设备测试截图

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

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

 

参考链接:

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

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

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



本文转自施炯博客园博客,原文链接:http://www.cnblogs.com/dearsj001/archive/2010/05/25/IMoverSocketForWM.html,如需转载请自行联系原作者

相关文章
|
Docker Windows 容器
解决 windows:An attempt was made to access a socket in a way forbidden by its access permissions
解决 windows:An attempt was made to access a socket in a way forbidden by its access permissions
1445 1
解决 windows:An attempt was made to access a socket in a way forbidden by its access permissions
|
存储 缓存 网络协议
Windows技术篇——Socket粘包问题
Windows技术篇——Socket粘包问题
224 0
|
C++ Windows
Windows10 VS2017 C++ Server Socket简单服务器端与客户端
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/85237709 服务端: #include "pch.
4010 0
|
缓存 网络协议 应用服务中间件
Windows Socket 最大连接数(★firecat推荐★,附个人总结)
Windows Socket 最大连接数(★firecat推荐★,附个人总结)
1663 0
|
Windows 网络协议
Windows Mobile远程控制软件Pocket Controller Pro简介
不仅PPC/WindowsMobile系统可以使用该控制软件,只要是WINCE内核的系统都可以使用,我在WinCE.net 4.2系统测试通过,只不过640*480的分辨率,控制速度不是那么理想。
933 0
|
数据格式 XML Windows
Windows Mobile 5.0编程—奥运场馆速查
我忙里偷闲,用VS2005开发了一个关于奥运场馆的小程序,时值2008北京奥运前夕,也算是为奥运做了“贡献”
666 0
|
Windows Web App开发 API
UWP 判断windows mobile是使用的实体键还是虚拟按键
原文:UWP 判断windows mobile是使用的实体键还是虚拟按键 最近在写启动屏幕,发现虚拟按钮会挡住,启动屏幕的最下面的元素,大概有50 px。可是有什么办法知道手机是用的实体键还是虚拟按键吗? 如下图。
1126 0
|
网络协议 Windows
通用异步 Windows Socket TCP 客户端组件的设计与实现
编写 Windows Socket TCP 客户端其实并不困难,Windows 提供了6种 I/O 通信模型供大家选择。但本座看过很多客户端程序都把 Socket 通信和业务逻辑混在一起,剪不断理还乱。
1071 0
|
缓存 网络协议 Windows
基于 IOCP 的通用异步 Windows Socket TCP 高性能服务端组件的设计与实现
设计概述   服务端通信组件的设计是一项非常严谨的工作,其中性能、伸缩性和稳定性是必须考虑的硬性质量指标,若要把组件设计为通用组件提供给多种已知或未知的上层应用使用,则设计的难度更会大大增加,通用性、可用性和灵活性必须考虑在内。
1356 0