Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Błąd funkcji "Listen" - komunikacja między 2 kompami przez net
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003
Błąd funkcji "Listen" - komunikacja między 2 kompami przez net

No właśnie. Mam se klienta i serwera. Serwer łączy się z klientem i następuje wymiana uprzejmości. Wszystko działało, aż tu pewnego dnia klient przestał reagować na próby podłączenia się! Zmieniłem port i wszystko ok aż do następnego połączenia - znów musialem zmieniać port. Teraz odkopałem stary projekt. Już miałem pare formatów i przez pewien czas nie musiałem zmieniać portów. Aż nagle nie wiadomo dlaczego zaczeły się takie sensacje jak poprzednio pokazywać - co jest? Bardzo proszę o szybką pomoc. Ważne!

[Post edytowany dnia 10-02-2005 23:54 przez mikmas]


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

10-02-2005 23:53
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Już poradziłem sobie z funkcją Listen (port był zajmowany, bo program nie rozłączał się). Teraz problem jest z nieoczekiwanym rozłączeniem serwa prawie od razu po połączeniu. Po długich śledzeniach odkryłem, że ten obszar jest temu winny:

Public Function Send(Data As String) As Boolean
    Dim buf As String
    Dim BytesSent As Long
   
    'Send the data
    BytesSent = SocketSend(mSocket, ByVal Data, Len(Data) + 1, 0)

    'Return the result
    Send = (BytesSent > 0)
End Function

W miejscu, gdzie pokolorowałem na czerwono wstawiłem połapkę. Jak zatrzymało się na niej wcisnąłem F5. Połączył się! No to zaraz przed tą linijką wstawiłem sleep 100. Efekt: serwer pisał, że jest połączony, tylko zaraz po tym zrzucał. Tak jakby był połączony przez te 100ms, a następnie zrzuca! A najciekawsze jest to, że żadne dlasze instrukcje nie mają złych zamiarów (nie ma tam nawet funkcji, które mogą rozłączać)


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

11-02-2005 01:36
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Wszystkich odpowiedzi: 1 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1