0
基本上我使用命名管道机制进行客户端/服务器交互。当我突然关闭服务器时,我正面临着问题,它只是断开命名管道。由于没有事件处理程序用于处理来自服务器端的错误消息,因此它只是等待某个动作发生,只在该动作发生时知道连接状态并尝试重新连接。我的要求是,只要服务器出现故障,我的客户端应用程序就会收到通知,并尝试连接到服务器,直到服务器不再回来。 连接到服务器的代码。如何通知客户端应用程序从服务器断开namedpipe?
this._handle =
CreateFile(this._pipeName,
GENERIC_READ | GENERIC_WRITE,
0,
IntPtr.Zero,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
IntPtr.Zero);
// Could not create handle - server probably not running
if (this._handle.IsInvalid)
return;
this._connected = true;
// Start listening for messages
this._readThread = new Thread(new ThreadStart(Read));
this._readThread.Start();