shGG - rozłącza od razu po połączeniu z serwerem

0

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?

0

"Nawiązane połączenie zostało przerwane przez oprogramowanie zainstalowane w komputerze-hoście."

Tak, ten komunikat właśnie to mówi ;p

0

No tyle to wiem ze ten komunikat to mówi, ale mialem nadzieje ze ktos jeszcze uzywal tego komponentu albo ze autor sie wypowie :> Zeby samemu sie zaczac domyslac dlaczego serwer rozlacza musialbym sie wgryzc w protokół gg a potem w tą biblioteke a moze juz istnieje patch albo ja cos zle robie :>

P.S. kolorowanie składni C# jest co najmniej dziwne :> Podswietal GGLogin a nie to co trzeba?

0

A może jakiś firewall/coś nasłuchuje na wybranym porcie?

0

No wlasnie nie, bo tlen/gg bez problemu łączy się z tym samym serwerem gg i dziala

0

Chyba masz starą wersje.

Spróbuj najnowszą z http://code.google.com/p/shgg/downloads/list

0

Zgadza sie, najnowsza wersja dziala, dzieki za info. Mam jeszcze takie pytanie - jest gdzies dokladniejsza dokumentacja? Dokladnie chodzi mi o to, jak zrealizowac wyszukiwanie w katalogu publicznym bez podawania wszystkich danych (np bez podawania nr gg - co podac jako argument?).

0

Dokładniejszej dokumentacji od zamieszczonej tam nie ma niestety.

Co do pytania - podaj wartość 0. Dla stringów - pusty string (choć powinno to być null.. nie pamiętam czemu dałem pusty string...)

0

Hmm próbuję tak (wyszukuje swoj numer z innego konta):

gg.PubDirSearch(....., string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, GGGender.All, false);

Ale zdarzenie GGPubDirReadReply ani GGSearchReply nie jest generowane. Cos robie nie tak?

1 użytkowników online, w tym zalogowanych: 0, gości: 1