|
C#, 一个 client/server 程序, client 端用以下方法 send message.
private void Send(Socket client, String data) { // Convert the string data to byte data using Unicode encoding. byte[] byteData = Encoding.Unicode.GetBytes(data);
try { // Begin sending the data to the remote device. client.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), client); } catch (SocketException se) { MessageBox.Show(se.ErrorCode + : + se.Message); client.Shutdown(SocketShutdown.Both); client.Close(); }
}
一切正常。 问题是,一旦server 非正常断开了。client.BeginSend 就会 throw 一个 异常 System.ObjectDisposedException: Cannot access a disposed object.
可是,这个exception , catch 却捕捉不到。这是咋回事? |
|
|