ошибка при работе с сокетами
От: Аноним  
Дата: 26.10.06 12:58
Оценка:
Доброго времени суток!

беда у меня следующая:

FrameWork 2.0
Имеются сервер и клиент
между ними устанавливается асинхронное соединение черес сокеты
все работает, данные передаются в обе стороны и принимаются нормально
но как только я убиваю клиента например, сервер падает с ошибкой
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
В интернете пол дня ищу решение, но видимо не с того конца ищу.

Хотелось бы понять как при работе с сокетами отловить падение клиента и культурно сообщить од этом пользователю сервера

вот так детально выглядит стек:
System.AccessViolationException was unhandled
Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Source="System"
StackTrace:
at System.Net.UnsafeNclNativeMethods.OSSOCK.WSAGetOverlappedResult(SafeCloseSocket socketHandle, IntPtr overlapped, UInt32& bytesTransferred, Boolean wait, IntPtr ignored)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)


отловить бы по идее это записать в лог сервера инфу об отвале клиента и перестартнуть сервер но как ловить ?

может кто примерчик посоветует.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.