zoukankan      html  css  js  c++  java
  • [C++] socket -7 [邮槽]

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

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

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

     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("创建邮槽失败!
    ");
    13         CloseHandle(mail);
    14     }
    15     else
    16     {
    17         const char text[200];//定义字符数组
    18         DWORD readtext;//获取实际读取值
    19         printf("创建邮槽成功!正在读取数据..
    ");//[[接下来等待数据客户端写数据,客户端一旦写好就读出数据]
    20         if(ReadFile(mail,text,200,&readtext,NULL))//读取数据
    21         {
    22             printf(text);
    23         }
    24         else
    25         {    
    26             printf("
    数据读取失败!
    ");
    27         }
    28     }    
    29     CloseHandle(mail);//关闭邮槽
    30     Sleep(10000);
    31     return;
    32 }
     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("邮槽打开失败!
    ");
    16     }
    17     else
    18     {    
    19         if(WriteFile(mail2,text,sizeof(text),&writetext,NULL))//写入数据
    20         {    
    21             Sleep(1000);
    22             printf("数据写入成功!
    ");
    23         }
    24         else 
    25         {
    26             printf("数据写入失败!
    ");
    27         }
    28         CloseHandle(mail2);//关闭句柄
    29     }
    30     Sleep(10000);
    31     return;
    32 }
  • 相关阅读:
    Pascal's Triangle II
    Pascal's Triangle
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Populating Next Right Pointers in Each Node
    path sum II
    Path Sum
    [转载]小波时频图
    [转载]小波时频图
    [转载]Hilbert变换及谱分析
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/3692501.html
Copyright © 2011-2022 走看看