青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評論-2670  文章-0  trackbacks-0
    此管道非彼管道,不是unix用來做命令行的那個。

    Windows的管道可以訪問本機或已知機器名的機器上的命名管道,自己也可以建立命名管道。一個命名管道就跟一個server socket一樣,可以進行listen,并產生很多實例來跟很多個client交談。主要函數有:

    CallNamedPipe:連接、讀、寫、關閉,TimeOut
    ConnectNamedPipe:等待client連接
    CreateNamedPipe:創建named pipe
    DisconnectNamedPipe:斷開連接
    PeekNamedPipe:試探pipe輸入緩沖區
    WaitNamedPipe:等待直到named pipe可以開始連接,client用
    Client使用CreateFile、WriteFile與ReadFile進行必要的操作。

    最近實習用wcf做項目,驚訝于wcf對網絡的封裝用起來非常舒服,因此也想在C++上實現一個過過癮。當然,我并不打算支持SOAP,而且我也想加上遠程對象訪問的功能,也就是說A產生的對象,傳到另一臺機器B上,B發給C,C仍然能夠調用對象的函數,只要接口正確。wcf可以在同一個端口上host很多屬于不同應用程序的服務,Pipe應該可以解決這個消息分派的問題,因為一個端口只能host一個server socket,至少我是這么想的。

    因此封裝了一下。上面列出的函數具體用法就自己看msdn了。
 1 #include "..\..\..\..\VL++\Library\Platform\VL_Console.h"
 2 #include "..\..\..\..\VL++\Library\Data\VL_System.h"
 3 #include "..\..\..\..\VL++\Library\Data\VL_Comm.h"
 4 
 5 using namespace vl;
 6 using namespace vl::platform;
 7 using namespace vl::system;
 8 using namespace vl::system::synchronization;
 9 using namespace vl::communication;
10 
11 void vlmain(VL_Console& Con)
12 {
13     Con.SetTitle(L"Vczh Pipe");
14     Con.SetTestMemoryLeaks(true);
15     Con.SetPauseOnExit(true);
16 
17     VBool ServerProcess=false;
18     VL_SynEvent Event;
19     switch(Event.Create(false,true,L"VCZH_EVENT"))
20     {
21     case VL_SynObject::arSucceed:
22         ServerProcess=true;
23         Con.Write(L"Server\r\n");
24         Con.Write(L"Press [ENTER] to start.\r\n");
25         Con.WaitForEnter();
26         break;
27     case VL_SynObject::arAlreadyExists:
28         Con.Write(L"Client\r\n");
29         Con.Write(L"Waiting for signal");
30         Event.WaitFor();
31         Con.Write(L"Signaled\r\n");
32         break;
33     case VL_SynObject::arFail:
34         Con.Write(L"Fail\r\n");
35         return;
36     }
37     if(ServerProcess)
38     {
39         VL_PipeServer Server(L"\\\\.\\pipe\\VczhPipe",true,true,1024,1024);
40         Event.Signal();
41         VL_AutoPtr<VL_ServerPipe> Pipe=Server.WaitForConnection();
42         if(Pipe)
43         {
44             Con.Write(L"消息鏈接來自:"+Pipe->GetClientComputerName()+L"\r\n");
45             VWChar Buffer[1024];
46             while(true)
47             {
48                 VInt Read=Pipe->ReadData((VBuffer)Buffer,1024);
49                 if(Read==-1)
50                 {
51                     Con.Write(L"Read Fail.\r\n");
52                     break;
53                 }
54                 else if(Read==0)
55                 {
56                     break;
57                 }
58                 else
59                 {
60                     Con.Write(L"*");
61                     Buffer[Read]=0;
62                     Con.Write(Buffer);
63                     Con.Write(L"\r\n");
64                 }
65             }
66         }
67         else
68         {
69             Con.Write(L"Fail.\r\n");
70         }
71         Event.Signal();
72     }
73     else
74     {
75         VL_AutoPtr<VL_ClientPipe> Pipe=new VL_ClientPipe(L"\\\\.\\pipe\\VczhPipe");
76         if(Pipe->Connect())
77         {
78             VWChar Message1[]=L"This is the first message.";
79             VWChar Message2[]=L"This is the second message.";
80             Pipe->WriteData((VBuffer)Message1,sizeof(Message1)-2);
81             Pipe->WriteData((VBuffer)Message2,sizeof(Message2)-2);
82         }
83         else
84         {
85             Con.Write(L"Fail.\r\n");
86         }
87         Event.WaitFor(1000);
88     }
89     Con.Write(L"Stop");
90 }

    這個程序啟動兩次不關閉,第一個啟動的變成server,第二個啟動的變成client。在server上按回車過程開始。client發兩條消息給server,server接受并打印在屏幕上。過程完成之后過一秒鐘兩個程序結束。之所以要等待一秒鐘是因為,如果直接結束的話會關閉管道,這個時候沒有讀出來的消息也就都不見了。
posted on 2008-07-31 09:07 陳梓瀚(vczh) 閱讀(4347) 評論(1)  編輯 收藏 引用

評論:
# re: Windows中的Pipe 2008-07-31 16:38 | 酸菜
unix的管道不是光作命令行的,只能說unix shell提供了使用管道的途徑。  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            夜夜嗨av一区二区三区| 亚洲国产欧美一区二区三区久久| 日韩视频一区二区在线观看 | 91久久久久久国产精品| 老司机免费视频久久| 亚洲激情av| 亚洲精品视频在线看| 欧美日韩一区二区三区在线 | 国内精品久久久久影院薰衣草| 午夜在线一区| 久久精品中文| 亚洲精品一区二区网址| 在线午夜精品自拍| 国产专区综合网| 亚洲黑丝在线| 国产美女扒开尿口久久久| 麻豆国产精品一区二区三区| 欧美国产精品专区| 午夜视黄欧洲亚洲| 欧美成人免费小视频| 午夜日本精品| 欧美激情按摩| 久久xxxx| 欧美日韩a区| 久久国产直播| 欧美日韩国产成人精品| 久久久久久久性| 欧美日韩国产999| 久久男人av资源网站| 欧美日韩成人在线播放| 美女福利精品视频| 国产精品豆花视频| 亚洲电影免费| 国产亚洲欧美中文| 99在线视频精品| 国产综合色一区二区三区| 亚洲精品欧洲| 亚洲第一精品夜夜躁人人躁 | 欧美华人在线视频| 国产欧美一区二区三区在线老狼| 亚洲高清不卡一区| 国产一区 二区 三区一级| 99精品国产福利在线观看免费| 黑人一区二区| 亚洲永久精品国产| 一本色道久久综合| 免费中文字幕日韩欧美| 久久精品官网| 国产精品自拍小视频| 日韩网站免费观看| 日韩网站在线| 欧美电影在线观看| 免费亚洲一区| 在线观看精品| 久久久久国产精品人| 久久久999国产| 国产日韩欧美中文在线播放| 99香蕉国产精品偷在线观看| 99re热这里只有精品视频| 久久一区精品| 免费观看成人鲁鲁鲁鲁鲁视频 | 免费观看一级特黄欧美大片| 久久精品国产亚洲精品| 国产精品久久久久久久久免费樱桃| 亚洲欧洲一区二区在线观看| 亚洲国产精品999| 另类av一区二区| 亚洲电影免费观看高清完整版在线| 激情综合在线| 久久久久久久一区| 欧美成人免费全部观看天天性色| 亚洲第一区在线观看| 久久久之久亚州精品露出| 久久伊伊香蕉| 亚洲欧洲一级| 欧美日韩三级视频| 亚洲一区三区在线观看| 欧美中文在线观看| 国产欧美日韩专区发布| 性欧美xxxx大乳国产app| 久久人人九九| 亚洲国产日韩欧美在线图片| 欧美国产精品劲爆| 亚洲免费成人av| 欧美在线视频a| 在线不卡视频| 欧美精品色综合| 亚洲一区二区三区影院| 久久精品在这里| 亚洲人成欧美中文字幕| 欧美视频在线观看免费| 欧美一区二区视频97| 老司机aⅴ在线精品导航| 亚洲国产成人久久综合一区| 欧美久久99| 欧美在线视频观看| 亚洲激情国产| 欧美伊久线香蕉线新在线| 亚洲高清自拍| 国产精品视区| 久久综合九色综合久99| 亚洲视频在线看| 欧美高清你懂得| 欧美一级视频精品观看| 亚洲第一福利在线观看| 国产精品久久婷婷六月丁香| 美女黄毛**国产精品啪啪| 一区二区三区高清视频在线观看| 久久久久久久综合色一本| 一区二区日韩免费看| 一区二区三区在线观看欧美 | 欧美在线观看视频| 亚洲精品综合在线| 美女国内精品自产拍在线播放| 正在播放亚洲一区| 在线成人免费观看| 国产精品国产三级国产普通话三级| 久久夜精品va视频免费观看| 亚洲欧美日韩国产一区二区三区| 欧美二区在线观看| 久久视频一区二区| 亚洲欧美日韩系列| 日韩午夜在线| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲欧洲久久| 美女视频黄免费的久久| 欧美一级久久久久久久大片| 一区二区三区国产盗摄| 最近中文字幕mv在线一区二区三区四区| 国产精品久久久久影院色老大| 欧美区在线观看| 欧美成人精品三级在线观看| 久久久亚洲成人| 欧美在线视频一区二区三区| 亚洲综合精品一区二区| 国产精品99久久久久久人| 亚洲欧洲日本在线| 亚洲国产欧美国产综合一区| 欧美高清在线视频| 你懂的成人av| 欧美激情精品久久久六区热门 | 日韩视频二区| 亚洲美女毛片| 99精品视频网| 一本色道久久88综合日韩精品| 亚洲人成久久| 亚洲精品小视频| 亚洲免费观看| 亚洲一区二区少妇| 亚洲欧美一区二区精品久久久| 亚洲一区黄色| 欧美一区二区大片| 久久久久久一区二区| 久久综合伊人77777麻豆| 欧美h视频在线| 欧美精品日韩综合在线| 欧美日本一区二区三区| 欧美午夜一区二区福利视频| 国产精品免费小视频| 国产日韩欧美综合一区| 一区二区三区在线观看国产| 在线免费精品视频| 日韩一本二本av| 亚洲欧美精品在线观看| 久久久久久久久久看片| 欧美电影专区| 99re6这里只有精品| 亚洲欧美久久久| 久久久噜噜噜久久狠狠50岁| 欧美激情一区二区三区| 国产精品成人一区二区| 黑人中文字幕一区二区三区 | 国产婷婷一区二区| 亚洲成人自拍视频| 在线中文字幕一区| 久久爱91午夜羞羞| 亚洲激情图片小说视频| 亚洲女性裸体视频| 美腿丝袜亚洲色图| 国产欧美日韩亚洲| 亚洲精品一区二区三区在线观看| 午夜欧美视频| 亚洲高清激情| 久久国产免费| 欧美午夜精品| 91久久亚洲| 久久精彩视频| 日韩午夜av电影| 快播亚洲色图| 国产香蕉97碰碰久久人人| 99re6热只有精品免费观看| 久久精品国产99国产精品澳门| 亚洲黄网站在线观看| 久久九九国产精品怡红院| 欧美日韩系列| 最新国产乱人伦偷精品免费网站| 午夜天堂精品久久久久| 亚洲精品久久久久久一区二区| 久久成人综合视频| 国产精品青草久久久久福利99|