public void Connect(int timeout)
{
if (owner.IsConnected)
{
throw new InvalidOperationException("The named pipe is already connected");
}
if (!Win32Marshal.WaitNamedPipe(name, timeout))
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
Connect();
}