简体   繁体   English

命名管道,服务器问题

[英]Named Pipes, Server question

I'm hanging on the WaitNamedPipe function even though I called CreateNamedPipe right before. 即使我之前刚刚调用CreateNamedPipe,我也挂在WaitNamedPipe函数上。 Since waitnamedpipe function just waits for the initiation of the pipe, why? 由于waitnamedpipe函数只是等待管道的初始化,所以为什么呢? code is below. 代码如下。 thanks 谢谢

PROCESS_INFORMATION po;
STARTUPINFO
s;

GetStartupInfo (&s);

if(CreateProcess ("c:\s2.exe", NULL, NULL, NULL, false, 0, NULL,
                  NULL, &s, &po) == FALSE)
{
    printf("Error %d starting CC\n",
           GetLastError());
    exit(-1);

}

HANDLE pipe=CreateNamedPipe (pipe_name, 0x00000003,
                             FILE_FLAG_FIRST_PIPE_INSTANCE,
                             PIPE_UNLIMITED_INSTANCES,128, 128, 0,
                             NULL);

while(WaitNamedPipe(pipe_name, INFINITE)==FALSE) Sleep(300);

HANDLE CC = CreateFile (pipe_name, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
                        NULL);

bool fConnected = ConnectNamedPipe(pipe, NULL) ? TRUE :
                  (GetLastError() ==
                   ERROR_PIPE_CONNECTED);

if(fConnected) printf("true");
else printf("false");

"C:\\s2.exe"不是"C:\\\\s2.exe"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM