邮槽是基于广播通信体系设计出来的,采用无连接的不可靠的数据传输;邮槽是一种一对一或一对多的单向通信机制,创建邮槽的服务器进程读取数据,打开邮槽的客户机进程写入数据;为保证邮槽在各种Windows平台下都能正常工作,在传输消息时应将消息的长度限制在424字节以下;
1、创建邮槽
HANDLE CreateMailslot(
LPCTSTR lpName,
DWORD nMaxMessageSize,
DWORD lReadTimeout,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
lpName:指向一个指定邮槽名称的字符串,该名称的格式为:“\.mailslot[path]name”,前两个反斜杠之后的字符表示服务器所在机器的名称,圆点表示本地主机,接着是不可更改的字符“mailslot”,大小写无所谓;最后的“[path]name”为邮槽的名称;
nMaxMessageSize:用来指定可以被写入到邮槽的单一消息的最大尺寸;如果设为0,表示可发送任意大小的消息;
lReadTimeout:指定读取操作的超时时间间隔,以ms为单位;如果设为0,若没有消息可用该函数将立即返回;如果设为MAILSLOT_WAIT_FOREVER,则该函数将一直等待直到有消息可用;
lpSecurityAttributes:指向一个SECURITY_ATTRIBUTES结构体的指针,可以设为NULL;