进程间通信之邮件槽
来源:互联网 发布:巴特尔在nba数据 编辑:程序博客网 时间:2024/06/06 03:27
recv:
#include <windows.h>#include <iostream>int main(){HANDLE Mailslot;char buffer[256];DWORD NumberOfBytesRead;// 创建邮件槽Mailslot = CreateMailslot("\\\\.\\Mailslot\\Myslot", 0, MAILSLOT_WAIT_FOREVER, NULL);if (INVALID_HANDLE_VALUE == Mailslot){printf("Failed to create a mailslot %d/n", GetLastError());std::cin.get();return -1;}std::cout << "等待接收数据..." << std::endl;// 从邮件槽上接收数据while (0 != ReadFile(Mailslot, buffer, 256, &NumberOfBytesRead, NULL)){buffer[NumberOfBytesRead] = '\0';std::cout << "接收的数据大小为:" << NumberOfBytesRead << std::endl;std::cout << "接收的数据内容为:" << buffer << std::endl;}// 关闭邮件槽CloseHandle(Mailslot);std::cout << "按任意键退出." << std::endl;std::cin.get();return 0;}
send:
#include <windows.h>#include <stdio.h>int main(int argc, char *argv[]){HANDLE Mailslot;DWORD BytesWritten;CHAR ServerName[256] = {"\\\\.\\Mailslot\\Myslot"};Mailslot = CreateFile(ServerName, GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);if (INVALID_HANDLE_VALUE == Mailslot){printf("打开命名邮件槽失败,原因: %d\r\n", GetLastError());system("pause");return -1;}if (0 == WriteFile(Mailslot, "This is a test", 14, &BytesWritten, NULL)){printf("向邮件槽发送数据失败,原因: %d\r\n", GetLastError());system("pause");return -1;}printf("Wrote %d bytedsr\r\n", BytesWritten);CloseHandle(Mailslot);system("pause");return 0;}
0 0
- 进程间通信之邮件槽
- win32下进程间通信方式之管道、邮件槽、剪切板、共享内存、消息、套接字、RPC、DDE等
- [进程通信] 进程间通信 之 管道
- 进程间通信之邮槽
- 进程间通信之邮槽
- Windows进程间通信之邮槽
- 进程间通信之邮槽
- 进程间通信之管道通信
- Linux进程间通信之管道通信
- Linux进程间通信之管道通信
- android 进程间通信之SOCKET通信
- 进程间通信之消息通信
- 通信之进程间通信-AIDL
- 进程间的通信之信号通信
- 进程间通信之消息队列通信
- 进程间通信之匿名管道通信
- 进程间通信之信号量通信
- 进程间通信之管道通信
- C#安卓自学示例(2)自动完成功能
- windbg的符号文件查找
- 批处理--循环调用curl
- 3.Python基本数据结构-元组
- cura-engine学习(1)
- 进程间通信之邮件槽
- Qt 查看IP是否在线的两种方法
- 4.Python基本数据结构-集合-创建/与其他类型比较
- Material Design 之 DrawerLayout(滑动菜单)
- 提高C#编程水平的50个要点 之十二“在定义变量的时候就将其初始化”
- Glide核心设计二:缓存管理
- 0301
- springMVC之404篇
- 5.Python基本数据结构-字典-创建/访问/基本操作/格式化输出