Начал играться с одной либой (SmartFox client)
Все вроде получается кроме одного — нормального выхода из программы.
Если под студией еще можно выйти, то обычное приложение даже убить не удается из Task Manager
Зависает здесь
[Managed to Native Transition]
> System.dll!System.Net.Sockets.Socket.Receive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode) + 0xbd bytes
System.dll!System.Net.Sockets.Socket.Receive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags) + 0x1d bytes
System.dll!System.Net.Sockets.NetworkStream.Read(byte[] buffer, int offset, int size) + 0x83 bytes
При попытке как то нагло убить сокет вылетае исключение
System.Net.Sockets.SocketException occurred
HResult=-2147467259
Message=A blocking operation was interrupted by a call to WSACancelBlockingCall
Source=System
ErrorCode=10004
NativeErrorCode=10004
StackTrace:
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
InnerException:
С сокетами и сетью практически не работал, так что куда копать непонятно
Здравствуйте, artem.komisarenko, Вы писали:
AK>Здравствуйте, AlexNek, Вы писали:
AN>>Все вроде получается кроме одного — нормального выхода из программы.
AK>Если я правильно всё помню, к потоку ожидающему на сокете можно достучаться с помощью QueueUserAPC.
здесь
Что то не догоняюю как это присобачить к сокету
Нашел еще вот что
здесь
Но оказывается, что даже прямого доступа к сокету нет в клиенте smartfox.