首页 > 其他 > 详细

socket -7 [邮槽]

时间:2014-04-29 00:15:00      阅读:373      评论:0      收藏:0      [点我收藏+]

 

::利用邮槽实现windons进程通信

::一般情况下CreateMailslot()常被使用在进程通信的服务器上,在客户端则是用函数CreateFile()打开指定的邮槽之后进行相关的操作。

::将通过有草读取数据的通信一方成为服务器,而通过邮槽写入数据的一方成为客户端。

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣
 1 /*
 2 服务器端
 3 */
 4 #include<windows.h>
 5 #include<stdio.h>
 6 void main()
 7 {
 8     HANDLE mail;//定义邮槽句柄
 9     mail=CreateMailslot("\\\\.\\mailslot\\mysolt",0,MAILSLOT_WAIT_FOREVER,NULL);//创建邮槽
10     if(mail==INVALID_HANDLE_VALUE)//判断邮槽句柄
11     {
12         printf("创建邮槽失败!\n");
13         CloseHandle(mail);
14     }
15     else
16     {
17         const char text[200];//定义字符数组
18         DWORD readtext;//获取实际读取值
19         printf("创建邮槽成功!正在读取数据..\r\n");//[[接下来等待数据客户端写数据,客户端一旦写好就读出数据]
20         if(ReadFile(mail,text,200,&readtext,NULL))//读取数据
21         {
22             printf(text);
23         }
24         else
25         {    
26             printf("\r\n数据读取失败!\n");
27         }
28     }    
29     CloseHandle(mail);//关闭邮槽
30     Sleep(10000);
31     return;
32 }
bubuko.com,布布扣
bubuko.com,布布扣
 1 /*
 2 客户端
 3 */
 4 #include<windows.h>
 5 #include<stdio.h>
 6 void main()
 7 {
 8     HANDLE mail2;//定义邮槽句柄
 9     char text[]="您好,this is a message";//初始化消息
10     DWORD writetext;//实际发送值
11     mail2=CreateFile("\\\\.\\mailslot\\mysolt",GENERIC_WRITE,FILE_SHARE_READ,
12         NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);//打开文件
13     if(INVALID_HANDLE_VALUE==mail2)
14     {    
15         printf("邮槽打开失败!\r\n");
16     }
17     else
18     {    
19         if(WriteFile(mail2,text,sizeof(text),&writetext,NULL))//写入数据
20         {    
21             Sleep(1000);
22             printf("数据写入成功!\n");
23         }
24         else 
25         {
26             printf("数据写入失败!\n");
27         }
28         CloseHandle(mail2);//关闭句柄
29     }
30     Sleep(10000);
31     return;
32 }
bubuko.com,布布扣

 

socket -7 [邮槽],布布扣,bubuko.com

socket -7 [邮槽]

原文:http://www.cnblogs.com/zjutlitao/p/3692501.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!