Witam,
Na początek może kod:
sHGG gg = new sHGG()
{
GGNumber = "...",
GGPassword = "...",
GGStatus = GGStatusType.Available
};
//...........
gg.GGLogin(gg.GGGetActiveServer());
Co się dzieje: po połączeniu numer na chwile staje się dostępny, jest wygenerowanie zdarzenie o poprawnym logowaniu, a następnie od razu dostaję wyjątkiem:
System.IO.IOException was unhandled
Message="Unable to read data from the transport connection: Nawiązane połączenie zostało przerwane przez oprogramowanie zainstalowane w komputerze-hoście."
Source="System"
StackTrace:
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.Stream.ReadByte()
at HAKGERSoft.sHGG.WaitForData() in C:\Documents and Settings\Administrator\Moje dokumenty\Visual Studio 2008\Projects\gg\shggsource\shggsource\shggsource\source\GGListener.cs:line 44
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: System.Net.Sockets.SocketException
Message="Nawiązane połączenie zostało przerwane przez oprogramowanie zainstalowane w komputerze-hoście"
Source="System"
ErrorCode=10053
NativeErrorCode=10053
StackTrace:
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
InnerException:
Dokładnie jest to ta linia:
private void WaitForData() {
lock (ThreadLock) {
while (true) {
NetStream = this.TcpEngine.GetStream();
if (NetStream.CanRead) {
uint packetType = (uint)(NetStream.ReadByte() | NetStream.ReadByte() | NetStream.ReadByte() | NetStream.ReadByte()); <==== tutaj
ExecuteAction(packetType);
}
}
}
}
Co jest? Serwer gg przerywa połączenie?