0
將C++客戶端與ACE_SPIPE_Connector(ACE)連接到.NET服務器時出現問題。雖然對地址\。\ pipe \ pipename有回聲的測試可行,但我懷疑使用ACE庫的C++代碼存在問題。命名管道客戶端(ACE,ACE_SPIPE_Connector)無法連接到csharp(NamedPipeServerStream)服務器
這裏是.NET服務器代碼:
var server = new NamedPipeServerStream("acepipe");
server.WaitForConnection();
StreamReader reader = new StreamReader(server);
var line = reader.ReadLine();
Console.WriteLine(line);
這裏是C++客戶端代碼:
#if defined (ACE_WIN32)
#define MAKE_PIPE_NAME(X) ACE_TEXT ("\\\\.\\pipe\\") ACE_TEXT (X)
#else
#define MAKE_PIPE_NAME(X) ACE_TEXT (X)
#endif
const ACE_TCHAR *rendezvous = MAKE_PIPE_NAME("acepipe");
ACE_SPIPE_Stream cli_stream;
ACE_SPIPE_Connector con;
int i;
if (con.connect(cli_stream,
ACE_SPIPE_Addr(rendezvous)) == -1)
{
printf("Named pipe connect failed.\n%s\n", rendezvous);
return 0;
}
我不知道這裏有什麼問題。
任何幫助?
謝謝,Lothar