我似乎无法打开Windows命名管道不止一次从PHP:为什么我不能多次打开一个命名管道?
$pipe1 = fopen($pipeName, 'r+'); // (1)
fclose($pipe1);
$pipe2 = fopen($pipeName, 'r+'); // (2)
fclose($pipe2);
(1)成功,我可以写到管道或打开阅读它的阻塞。
(2)失败与
的fopen(\\ \管\编码。):未能打开流:无效的参数
“无效参数” 似乎是指到模式,但我尝试了(1)和(2)之间的所有不同模式组合,没有区别。无论它处于同一个进程还是另一个进程中,它也会失败。
我正在与创建所述管:
CreateNamedPipe("\\\\.\\pipe\\encoding", 3, 0, 5, 512, 512, 0, 0);
其中“3”使得它的读/写和管“5”是可以被创建的实例的最大数目。我也试过CreateNamedPipe的不同参数组合,但无济于事。
有什么特别的我失踪了Windows命名管道?
”服务器进程必须调用DisconnectNamedPipe,才能使用ConnectNamedPipe函数将句柄连接到另一个客户端,从而将管线句柄与其先前的客户端断开连接。“ –
@ antti.huima:那是我的问题,谢谢! (你应该写出一个真实的答案!) – ladenedge
大声笑ok ................ –