Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez jabu74 - ekspert » środa, 17 grudnia 2008, 23:47

Cześć

W moich aplikacjach korzystam z TServerSocket oraz TClientSocket (aplikacje stworzone w C++Builder BDS 2006).Skompilowałem dwa programy do exe w sierpniu i sprawdzałem dobrze chodziły tzn. w sieci lokalnej łączyły się natychmiast. Odpalam wczoraj po dłuższej przerwie, a tu łączenie trwa ... ok 10s (nie przesadzam, a komputery oddalone są o ok 2-3m). Tyle samo trwa rozłączanie. Zainstalowałem niedawno na jednym z tych komputerów SP3 (xp) natomiast na drugim mam SP1 (vista) nie wiem czy to te dziadostwa mi tak nabruździły. Macie jakieś aplikacje skompilowane w c++builder lub delphi tego typu bym mógł je sprawdzić w mojej sieci ? Pobrałem z sieci aplikacje hercules setup utility i tam jest zaimplementowany klient TCP IP. Ten program jest napisany na 100% w jednym z tych dwu środowisk (najprawdopodobniej w delphi). Połączyłem się z moim serwerem natychmiast !!!

Specjalnie na piechotę stworzyłem dwie aplikacje klient oraz serwer uproszczone na maksa łączące się jedynie ze sobą i o zgrozo czas łączenia jest tak samo b. długi !!! Na tym samym komputerze wspomniane aplikacje łączą się ze sobą szybko. Takiego dziadostwa to bym się nigdy nie spodziewał ze strony Borlanda.

Co o tym sądzicie ? Macie możliwość sprawdzenia u siebie na takich samych konfiguracjach ? Nie wiem co jest grane !

Pozdrawiam
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez Cyfrowy Baron » czwartek, 18 grudnia 2008, 12:18

Service Pack 3 dla Windows XP wprowadza nowe procedury bezpieczeństwa w komunikacji sieciowej, co wpływa na szybkość w komunikacji, w sieci lokalnej.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez jabu74 - ekspert » czwartek, 18 grudnia 2008, 13:04

1) aplikacja pobrana z internetu (wspomniany hercules) łączy się natychmiast z moim serwerem, a mój klient wręcz przeciwnie.
2) da się te mechanizmy jakoś wyłączyć by w sieci lokalnej też chodziło to szybko
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez jabu74 - ekspert » niedziela, 21 grudnia 2008, 16:40

Witam

Mam ! Najprawdopodobniej znalazłem powód tak fatalnego działania mojej aplikacji. Wydaje mi się, że to drastyczne zamrożenie aplikacji następuje w momencie odczytywania przez klienta nazwy zdalnego hosta, na którym uruchomiona jest aplikacja serwera i odwrotnie czyli jak serwer odczytuje nazwę komputera na którym jest uruchomiony program klient. Co ciekawe aż tak dużego spowolnienia nie ma przy uruchamianiu obydwu aplikacji na tym samym komputerze.

Tak więc na chwilę obecną usunąłem z klienta i serwera wszystkie fragmenty kodu gdzie było RemoteHost. Z pobraniem nazwy hostów będę musiał sobie jakoś inaczej poradzić. Odinstalowanie SP3 xp i SP1 vista nie pomogło. Na razie zainstalowałem na powrót SP3. Bez wspomnianego RemoteHost chodzi b. dobrze.

TServerSocket i TClientSocket to są dość stare komponenty i może się gryzą z ostatnio wprowadzonymi pseudo zmianami (na gorsze) przez microsyf. Chodziło dobrze jeszcze kilka miesięcy temu bo wielokrotnie sprawdzałem. Tylko muszę sprawdzić czy problem leży po stronie visty czy xp albo może po obydwu i ciekawy jestem, który to patch microsyfowy.

Pozdrawiam
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez jabu74 - ekspert » poniedziałek, 22 grudnia 2008, 22:27

Cześć

Skonfigurowałem (wydaje mi się, że dobrze) modem DSL-524T (opcja Virtual Server - przekierowanie portów) tak bym mógł łączyć się z Internetu z moją aplikacją typu serwer uruchomioną w domowej sieci lokalnej.
Program typu serwer bazuje na TServerSocket a program klienta na TClientSocket i nic. Program serwer uruchomiony mam na komputerze o lokalnym adresie 192.168.1.4 natomiast program klienta uruchomiony na komputerze 192.168.1.2. Podaje adres IP taki pod jakim widziany jestem z zewnątrz tzn. z neta.

Przy próbie połączenia wyskakuje mi błąd socket error 10061 !! Nie mogę się połączyć , nie ma szans !

Co jest grane ? Czy ktoś mi może pomóc ?

Pozdrawiam
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez polymorphism » środa, 24 grudnia 2008, 10:35

No a jak podajesz lokalny adres serwera, to łączy się, czy nie?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez Cyfrowy Baron » środa, 24 grudnia 2008, 10:48

192.168.*.* to adresy wewnętrzne połączenia lokalnego. Jeżeli łączysz klienta z serwerem nie poprzez sieć lokalną, lecz przez internet, to musisz znać adres zewnętrzny serwera i klient musi łączyć się przez adres zewnętrzny. Twój adres zewnętrzny ostatniego logowania na forum to: 83.29.133.143
Masz prawdopodobnie zmienny IP zewnętrzny, więc dostawca sieci przydziela Tobie przy każdym łączeniu z internetem inny adres IP.
W serwisie Cyfrowy Baron w dziale kursy praktyczne znajduje się przykładowy program typu klient-serwer Komunikator sieciowy oparty na socketach. Testowałem go i zawsze przy łączeniu przez internet podawałem zewnętrzny IP.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez jabu74 - ekspert » piątek, 2 stycznia 2009, 21:54

Cześć

@polymorphism

Jak podaje lokalny adres serwera to się łącze bez problemu.

@Cyfrowy Baron

Wiem, że muszę podawać adres zewnętrzny i że jest on zmienny. Adres wpisuje prawidłowo, ale nie mogę się połączyć klientem do serwera z sieci lokalnej wpisując adres zewnętrzny.

Pozdrawiam
Avatar użytkownika
jabu74 - ekspert
 
    NieznanyNieznana

Re: Tragicznie wolne łączenie klienta i serwera w sieci lokalnej

Nowy postprzez Cyfrowy Baron » piątek, 2 stycznia 2009, 22:20

Wiem, że muszę podawać adres zewnętrzny i że jest on zmienny. Adres wpisuje prawidłowo, ale nie mogę się połączyć klientem do serwera z sieci lokalnej wpisując adres zewnętrzny.


Jeżeli komputer w sieci lokalnej ma połączenie z Internetem, to nie powinieneś mieć żadnych problemów z połączeniem się z serwerem poprzez internet - zakładając, że serwer nie działa w sieci lokalnej, lecz w Internecie.
Jeżeli serwer działa tylko w sieci lokalnej, to żeby się z nim połączyć podajesz oczywiście jego adres lokalny.
Jeżeli w sieci lokalnej masz np. dwa komputery połączone w sieć korzystające z jednego łącza internetowego i serwer pracuje na jednym z tych komputerów, to chyba (pewien nie jestem, nie sprawdzałem) możesz łączyć tylko przez adres lokalny.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 1 gość

cron