邮槽通信是基于无连接不可靠的数据传输,并且只能单向通信,服务器端尽可以读取数据,客户端仅可以写入数据,实现单向通信,其次如果要用邮槽实现双向通信,那么每个主机既是客户端也是服务器端。有点P2P的感觉,将一下流程
首先服务器端调用CreateMailslot函数来创建邮槽
hMail= CreateMailslot(TEXT("\\\\.\\mailslot\\laimail"),0,MAILSLOT_WAIT_FOREVER,NULL);,第一个参数指定邮槽的名字,格式查看MSDN,第二个参数指定单词写入数据的最大值,第三个参数指定等待事件。MAILSLOT_WAIT_FOREVER意思是一直等待知道有客户端请求连接,第四个是安全性属性描述符
然后这个函数返回一个句柄,你可以调用ReadFile来实现读取文件中的数据,
客户端要打开邮槽,需要调用CreateFile函数来打开邮槽,返回一个句柄,用于客户端WriteFile进行写数据
上张图
OK,如有任何以为欢迎交流