命名的Pipe客户端(ACE,ACE_SPIPE_CONNECTOR)无法连接到CSHARP(名为PipeserverS
Named pipe client (ACE, ACE_SPIPE_Connector) could not connect to csharp (NamedPipeServerStream) server
我在将C 客户端与ACE_SPIPE_CONNECTOR(ACE)连接到.NET服务器时遇到了问题。虽然对地址的回声进行测试 pipe pipename有效,但我怀疑使用ACE库的C 代码问题。
这是.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%sn", rendezvous);
return 0;
}
我不知道这里有什么问题。
有帮助吗?
谢谢,Lothar
同时,我发现了代码的问题。两个点或问题:
1。)命名的管名自我不同。
2。)模式(消息与字节)。ACE默认为消息,C#没有。
以下C#代码解决了问题:
var server = new NamedPipeServerStream("acepipe", PipeDirection.InOut, 4, PipeTransmissionMode.Message);
server.WaitForConnection();
相关文章:
- 如何添加预防措施以绕过未注册Microsoft.ACE.OLEDB.12.0?
- 在 Slackware 14.2 64 位上使用 ACE 库编译错误
- ACE.sln和ACE_wrappers.sln之间的区别ACE_wrappers?
- 在使用VS2010构建ACE和TAO(CORBA)时发生了许多错误
- 在ACE框架上查询
- ACE c++ send_n,recv_n无法按预期工作
- 带有ACE反应器的Zeromq
- ACE在同一PC上具有多个应用程序实例 - 仅首先获取消息
- 如何使用ACE在同一本地网络中ping另一个PC
- 命名的Pipe客户端(ACE,ACE_SPIPE_CONNECTOR)无法连接到CSHARP(名为PipeserverS
- Replacing ACE with BOOST
- Boost::python带有ACE,C++符号不明确
- 如何在 Ace 根中为 MingW-64 构建 ACE
- ACE互斥锁是如何工作的,以及为什么ACE线程互斥锁的工作方式不同
- TAO+ACE ROOTPOA
- ACE/TAO 性能问题
- 使用 AddAccessAllowedAceEx 在 DACL 中进行 ACE 排序
- 为什么我在尝试编译我的第一个 CORBA 服务器(使用 ACE/TAO ORB 实现)时遇到链接器错误
- 删除/修改 ACL 中继承的 ACE (Windows)
- ACE 在 MAC OS X 10.9(及更高版本)中的 Linker 上失败