
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
908
|
Chapter 16: Networking
Discussion
Named pipes are a mechanism to allow interprocess or intermachine communica-
tions in Windows. The .NET Framework currently has not provided managed access
to named pipes, so the first thing you need to do is to wrap the functions in
Kernel32.dll for direct access from managed code in your
NamedPipesInterop class.
Once you have this foundation, you can then build a client for using named pipes to
talk to a server, as in the
NamedPipeClient class. The methods on NamedPipeClient are
listed in Table 16-1 with a description for each.
// I know in the client I used a Unicode encoding
// for the string to turn it into a series of bytes
// for transmission so just reverse that.
messageText = Encoding.Unicode.GetString(msgBytes);
// Write out our string message from the client.
Console.WriteLine(messageText);
}
else
success = false;
}
catch (Win32Exception)
{
success = false;
}
}
}
}
}
// Make our server hang around so you can see the messages sent.
Console.WriteLine("Press Enter to exit...");
Console.ReadLine( );
}
}
}
Table 16-1. NamedPipeClient methods
Method Description
Close Close method, which calls the Dispose method.
Connect Connects to a named-pipe server.
Dispose Dispose method for the named-pipe client so that the pipe handle is not held any longer ...