WiFi通信上位机实现

Socket网络编程实现部分:

孙鑫老师《VC++深入详解》第十四节课视频教程;

程序:点击打开链接

程序位置:C:\Users\Administrator.IN41M01AX1BE74P\Desktop\嵌入式\四轮驱动视觉识别机械臂抓取\无线通信\TCP\Examples

example1是Server和example2是Client

WiFi通信上位机实现_第1张图片

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------


现阶段(该阶段的最终版)程序运行效果如下:

WiFi通信上位机实现_第2张图片

可以通过键盘输入:

大小写字母、数字、特殊字符(shift + 数字键)、标点符号;

有个闪烁光标,可以通过键盘上“左右移动键”左右移动光标,响应的过程处理函数中上下键因为没有写对应程序所以光标暂时还不能上下移动;

Tab键盘;回车键;空格键;Home键;End键都可以实现功能。


上述功能实现过程:

1、在网上找到了孙鑫老师的C++视频教程 + VC++深入详解文档,将教程1:第一章 Windows程序内部运行机制,仔细看完,讲得很好,虽然时间有点久,

2、之前已装过VS2015,直接将在下载的孙鑫老师的第一章的代码运行(《VC++深入详解》第20页),运行出错,不知错在哪里,放在那边(第3步解决)。然后直接在网上搜索现成的窗口程序:跟我一起玩Win32开发(2):完整的开发流程》点击打开链接,程序直接复制粘贴后就能运行,运行效果与其类似!孙老师的程序和他的程序几乎一摸一样,所以直接边运行调试边研究程序(所付出即所得)

3、回过头来,在2步骤运行成功的程序上继续修改第2步中无法运行的程序,修改使得可以运行。主要问题在于:

a、-----------------------------------------------------------------

WiFi通信上位机实现_第3张图片

b、-------------------------------------------------------------------


WiFi通信上位机实现_第4张图片

c、---------------------------------------------------------------------


WiFi通信上位机实现_第5张图片

上面3处,参照VS2015帮助文档中搜索“messagebox”如下,在红线都添加(LPCWSTR)L:

WiFi通信上位机实现_第6张图片

d、-----------------------------------------------------------------------------

WiFi通信上位机实现_第7张图片

实在没找到办法搞定红线部分,将MessageBox换成TextOut()处理即可!

到此孙老师的第一章源程序修改的可以运行了!!


4、实现将键盘上的按键打印到窗口上,直接搜索“Win32 键盘按下显示键值”;在VS2015帮助文档手册中搜索相关的例程,直接搜索:“Using Keyboard Input”果然找到了,非常全,准确就是我想要的答案:

WiFi通信上位机实现_第8张图片

直接将“Displaying Keyboard Input”的程序复制粘贴到2步中运行的成功的程序,一些变量统一,唯一花费些经理要解决的是下面问题:


关于“pcch”,函数StringCchLength程序此处的用法有些问题(指的是文档复制下来的程序),

a、该函数需要包含在头文件Strsafe.h中,直接在VS2015帮助文档中搜索即可找到!

b、编译出现问题,查找原因如下:类似于:点击打开链接

You haven't givenpcch a value, hence the uninitialized variable error.

于是,我又在百度中搜索关于StringCchLength的应用实例:点击打开链接

WiFi通信上位机实现_第9张图片

WiFi通信上位机实现_第10张图片

根据人家对于StringCchLength函数使用,发现问题所在:pcch的没有初始化问题!!!修改程序如下:

WiFi通信上位机实现_第11张图片

搞定,运行效果就是上面的最终运行效果!使得End键可以正常使用!

程序地址:

C:\Users\Administrator.IN41M01AX1BE74P\Desktop\嵌入式\四轮驱动视觉识别机械臂抓取\无线通信\TCP\Examples\Examples3

------------------------------------------------------------------------------------------------------------————

------------------------------------------------------------------------------------------------------------------------

VS2015+Socket+MFC

运行效果:

WiFi通信上位机实现_第12张图片

1、先看:点击打开链接

MFC实现的Socket通信

服务端代码,打开类视图,找到ListenThreadFunc函数。这是我们的线程函数,socket代码在该线程里执行。+ 解说

客户端socket的代码+解说

2、分析源程序:

一开始找不到这个上位机界面:

WiFi通信上位机实现_第13张图片

WiFi通信上位机实现_第14张图片

现象和过程越直接对应越直接,学习效果越好!学习了一下控件及其变量和事件函数等。

接下来,就不知道程序运行过程和思路了!?不知道该怎么看?

还是看一下工程中的文件(以服务器工程为例,客户端类似):

头文件(xads_PCServerDlg.h + xads_PCServer.h + stdafx.h + ArrayList.h + Resource.h + targetver.h)+ 源文件(xads_PCServerDlg.c + xads_PCServer.c + stdafx.c) + 资源文件(bitmap1.bmp + bitmapon.bmp + xads_PCServer.ico + xads_PCServer.rc + xads_PCServer.rc2)

主要是源文件:xads_PCServerDlg.c + xads_PCServer.c 

xads_PCServerDlg.c:ListenThreadFunc或ConnectSocket(其中有服务器和客户端Socket程序),其中有按键编辑框的时间响应函数:OnBnClickedButtonconnect等等。

xads_PCServer.c:孙鑫老师的第3课:MFC框架剖析讲的内容的理解

现在有点不明白地方在于:线程 ——> 孙鑫老师:第15章 多线程
















你可能感兴趣的:(WiFi通信上位机实现)