进程通信系列-单向邮槽
来源:互联网 发布:常熟淘宝拍卖 编辑:程序博客网 时间:2024/05/21 10:35
单向邮槽可以用于局域网的不可靠单向广播,代码长度一般,功能一般
缺点:不可靠,单向
优点:简单,不必关心协议
单向邮槽类:
#include "stdafx.h"#include "mailslot.h"mailslot::mailslot(void){hmail=NULL;}mailslot::~mailslot(void){if(hmail)CloseHandle(hmail);}int mailslot::free(){if(hmail){CloseHandle(hmail);return 1;}return 0;}int mailslot::have(){if(!hmail)return 0;DWORD cbMessage, cMessage; GetMailslotInfo(hmail,(LPDWORD) NULL, &cbMessage,&cMessage,0); if(cbMessage == MAILSLOT_NO_MESSAGE) return 0;return 1;}int mailslot::create(CString name){MessageBox(0,"等待发送端","ok",MB_ICONINFORMATION);//创建邮槽hmail=CreateMailslot("\\\\.\\mailslot\\"+name,0,500,NULL);if(hmail==INVALID_HANDLE_VALUE||hmail==0){MessageBox(0,"创建失败","错误",MB_ICONERROR);hmail=0;return 0;}return 1;}CString mailslot::read(){char content[200];DWORD dread;if(!ReadFile(hmail,content,200,&dread,NULL)){MessageBox(0,"读取失败","错误",MB_ICONERROR);return "";}return content;}int mailslot::connect(CString server,CString name)//server不知道填什么可以,试了好多都不行,只能是.或*,也许是安全问题{hmail=CreateFile("\\\\"+server+"\\mailslot\\"+name,GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(hmail==INVALID_HANDLE_VALUE||hmail==0){MessageBox(0,"打开失败!,请确定目标地址已准备接受","错误",MB_ICONERROR);hmail=0;return 0;}return 1;}int mailslot::send(CString content){DWORD dwrite;if(!WriteFile(hmail,content,content.GetLength()+1,&dwrite,NULL)){MessageBox(0,"写入失败","错误",MB_ICONERROR);return 0;}return 1;}
- 进程通信系列-单向邮槽
- 进程通信(管道 单向通信)
- 进程通信 (命名管道 单向通信)
- CXQueue进程间多到一的单向通信
- 父子进程间的单向管道通信
- 进程通信系列-主程序
- Python 进程通信,队列(multiprocessing.Queue()),单向通信
- 进程通信系列-命名管道
- 进程通信系列-匿名管道
- 进程通信系列-消息缓冲
- 进程通信系列-共享内存
- C#命名管道进程通信(一单向)
- 进程通信之邮槽
- Linux环境进程间通信系列
- Linux环境进程间通信系列
- linux 进程通信系列——信号量
- 进程间通信系列 之 信号实例
- 进程间通信系列 之 信号(理论)
- 内容选择器
- 不用库函数,用C语言实现将一整型数字转化为字符串
- cocos2d-x2.0.2以后代码差异
- 《C#入门到精通》学习笔记 -- 实践: 自定义异常类的实现(2013-04-18)
- android基础知识02——线程安全2:handler、message、runnable
- 进程通信系列-单向邮槽
- Mybatis中传参包There is no getter for property named 'XXX' in 'class java.lang.String'
- poj1010
- 在Release版本中输出打印信息,实现TRACE功能
- apache shiro集群实现(二)— cache共享
- Android 4.0 HDMI相关代码
- Android属性简介
- atof()函数实现
- 面向对象-对象通俗解释[Objective-C代码]