万户网络学校网站建设,能看男女做那个的网站,免费活动网,wordpress单页导航第6节 使用邮件槽传输数据
网络通讯的理论很复杂#xff0c;可是初学者不考虑性能的话#xff0c;可以使用很简单的模式。一般而言网络通讯有两种模式#xff0c;点对点模式或者广播模式。点对点模式就像一对一辅导#xff0c;双方都能听清楚对方说什么#xff0c;并作出…第6节 使用邮件槽传输数据
网络通讯的理论很复杂可是初学者不考虑性能的话可以使用很简单的模式。一般而言网络通讯有两种模式点对点模式或者广播模式。点对点模式就像一对一辅导双方都能听清楚对方说什么并作出相应的处理若是因网络故障丢失数据双方都知道中间出了问题可以重新发送数据来解决这个故障广播模式就像课堂教学老师无法确信受众们都听清了所说的内容若某个同学因某种原因而丢包老师并不知道这个包已经被丢失了。
邮件槽分为收件箱和发件箱两类。收件箱接收网络上发来的邮件包而发件箱向其他电脑也可以是本机发送邮件。发送邮件时需要指定接收者的IP地址或者使用表示广播给全局域网的收件箱接收数据稍微复杂点因为必须事先建好收件箱CreateMailslot)其他人发给你的邮件才有可能收到若是其他人发邮件时该收件箱已经被注销那么就收不到邮件了。在建立邮件槽的时候邮件槽必须具有下面的形式\.\mailslot[path]name这个形式中前缀\.\mailslot\是必不可少的而且注意都是小写字符。写到C语言程序里就应该是这样的形式\\.\mailslot\。其中的.表示本地计算机。若是想把消息包发送到远程计算机远程计算机的邮件槽具有“\Computername\mailslot这样的形式若是想要广播到全局域网则应使用\\mailslot这样的形式。当然本地计算机没有创建远程邮件槽的权利因此不用使用CreatMailslot函数若想要发送到远程计算机则使用CreateFile就可以了。
本地计算机名称可以通过GetComputerName函数获得。代码没有给出请同学们自行查询帮助。
下面以一个共享画板为例。参与画板的每个人可以选择一种颜色画笔然后在公共画板上做图。程序通过邮件槽共享鼠标信息程序中使用了公共对话框来选择一种颜色
订正
由于使用了公共对话框因此在程序的包含文件中增加一项#include: 另若对程序中不停出现的4996号Warning感到厌烦可添加上图中最后一行的#pragma命令。
在WinLearn中新建工程WinStep3;
1、在菜单中添加一个顶层菜单然后在顶层菜单下添加4个子菜单如图 图1 菜单设计 表2 菜单项设置
2、在快捷键表中添加4个快捷键。 图2 快捷键设计
3、设计网络消息。 程序片段24 网上传输的消息 程序片段25 全局变量 程序片段26 主程序注意其中左侧特出的地方为初始化
4、 消息处理函数WndProc部分代码。 程序片段27 鼠标左键按下时记录上次的点 程序片段28 对选择画笔的菜单项的代码 程序片段29 鼠标移动时画出轨迹并广播 程序片段30 每隔50ms检索广播消息并直接画出