日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows编程之网络之邮件槽通讯

發布時間:2023/12/2 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows编程之网络之邮件槽通讯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第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檢索廣播消息并直接畫出

總結

以上是生活随笔為你收集整理的Windows编程之网络之邮件槽通讯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。