VC网络编程笔记--进程间通信-邮槽
2017-05-28 19:13
211 查看
服务器代码
// server.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include<windows.h> //包含头文件
#include<stdio.h>
int main() //主函数
{
HANDLE mail; //定义邮槽句柄
mail=CreateMailslot("\\\\.\\mailslot\\my",0,MAILSLOT_WAIT_FOREVER,NULL); //创建邮槽
if(mail==INVALID_HANDLE_VALUE) //判断邮槽句柄
{
printf("创建邮槽失败!\r\n"); //提示信息
CloseHandle(mail);
}
else
{
printf("创建邮槽成功,正在读取数据......!\r\n");
char text[200]; //定义字符数组
DWORD readtext; //用于获取实际读取值
while(1)
{
if(ReadFile(mail,text,200,&readtext,NULL)) //读取数据
{
printf(text); //显示数据
printf("\r\n");
break;
}
}}
//CloseHandle(mail);
Sleep(1000000);
return 0;
}
客户端代码
// client.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<windows.h> //包含头文件
#include<stdio.h>
int main() //主函数
{
HANDLE mail2; //定义邮槽句柄
char text[]="您好,this is a message"; //初始化消息
DWORD writetext; //用于获取实际发送值
mail2=CreateFile("\\\\.\\mailslot\\my",GENERIC_WRITE,FILE_SHARE_READ,
NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); //打开文件
if(INVALID_HANDLE_VALUE==mail2)
{
printf("邮槽打开失败!\r\n");
}
else
{
if(WriteFile(mail2,text,sizeof(text),&writetext,NULL)) //写入数据
{
Sleep(1000);
printf("数据写入成功\r\n"); //数据写入成功
}
else
{
printf("数据写入失败\r\n");
}
CloseHandle(mail2);
}
Sleep(10000);
return 0;
}
// server.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include<windows.h> //包含头文件
#include<stdio.h>
int main() //主函数
{
HANDLE mail; //定义邮槽句柄
mail=CreateMailslot("\\\\.\\mailslot\\my",0,MAILSLOT_WAIT_FOREVER,NULL); //创建邮槽
if(mail==INVALID_HANDLE_VALUE) //判断邮槽句柄
{
printf("创建邮槽失败!\r\n"); //提示信息
CloseHandle(mail);
}
else
{
printf("创建邮槽成功,正在读取数据......!\r\n");
char text[200]; //定义字符数组
DWORD readtext; //用于获取实际读取值
while(1)
{
if(ReadFile(mail,text,200,&readtext,NULL)) //读取数据
{
printf(text); //显示数据
printf("\r\n");
break;
}
}}
//CloseHandle(mail);
Sleep(1000000);
return 0;
}
客户端代码
// client.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<windows.h> //包含头文件
#include<stdio.h>
int main() //主函数
{
HANDLE mail2; //定义邮槽句柄
char text[]="您好,this is a message"; //初始化消息
DWORD writetext; //用于获取实际发送值
mail2=CreateFile("\\\\.\\mailslot\\my",GENERIC_WRITE,FILE_SHARE_READ,
NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); //打开文件
if(INVALID_HANDLE_VALUE==mail2)
{
printf("邮槽打开失败!\r\n");
}
else
{
if(WriteFile(mail2,text,sizeof(text),&writetext,NULL)) //写入数据
{
Sleep(1000);
printf("数据写入成功\r\n"); //数据写入成功
}
else
{
printf("数据写入失败\r\n");
}
CloseHandle(mail2);
}
Sleep(10000);
return 0;
}
相关文章推荐
- VC网络编程笔记--进程间通信-命名管道
- VC网络编程笔记--进程间通信-匿名管道
- 【网络编程学习笔记02】进程间通讯-邮槽
- Linux 网络编程笔记(3)——进程间通信
- 孙鑫VC学习笔记:第十四讲 (二) 网络编程
- 网络编程 笔记(七) 进程间通信
- VC++网络安全编程范例(1)--数字证书有效期验证--学习笔记
- [VC网络编程笔记-使用API函数操作互斥对象实现线程同步
- 实例解析IPv6下的VC网络编程
- 学习笔记七之网络编程(UDP)
- Java基础复习笔记系列 九 网络编程
- java笔记_网络编程
- VC下用MFC类实现网络编程
- 学习VC的网络编程-大侠介绍几本经典书籍
- 网络编程笔记
- 黑马程序员java学习笔记——网络编程
- VC++网络编程-文件传输
- Linux网络编程-学习笔记
- 网络编程学习笔记--1.socket可读可写条件
- VC++网络安全编程范例(5)-创建创建密钥容器和密钥