Gdy klient łączy się z serwerem przy użyciu protokołu TCP, dla strumienia TCP tworzone jest nowe gniazdo. Czy połączenie pozostaje na tym samym porcie, z którym nawiązano połączenie lub czy zostało zmienione na inny port?Czy port zmienia się, gdy połączenie TCP jest akceptowane przez serwer?
Odpowiedz
Nowe gniazdo to koncepcja na poziomie aplikacji, ponieważ każde nawiązane połączenie wymaga unikalnego deskryptora pliku (również odrębnego od deskryptora pliku nasłuchującego), który jest mapowany do sesji TCP, ale nie jest taki sam jak. Sama sesja jest identyfikowana przez połączenie adresu źródłowego i docelowego oraz portu. Port źródłowy (klient) jest zwykle wybierany losowo, a port docelowy (serwer) jest portem nasłuchującym. Nie przydzielono dodatkowego portu.
Gniazdo skojarzone z nowym deskryptorem zwrócone przez accept
na serwerze będzie używać tego samego portu po stronie serwera połączenia, co oryginalne gniazdo (przy założeniu "normalnych" definicji, w których klient inicjuje połączenie). Nowe gniazdo będzie miało inny numer portu klienta (port zdalny z punktu widzenia serwera).
- 1. Jak zamknąć połączenie TCP przez port?
- 2. Serwer i połączenie Julia TCP
- 3. Jak sprawdzić, czy port TCP jest już odsłuchiwany?
- 4. Jak ustawić port używany przez serwer Emacs?
- 5. Połączenie klienta TCP
- 6. Serwer wielojęzykowy TCP w języku Python
- 7. Połączenie odrzucone! Czy serwer selenowy został uruchomiony
- 8. Serwer ssh połączyć się z hostem xxx port 22: Połączenie przekroczyło limit czasu na linux-ubuntu
- 9. wyzwalania backbone.js zmienia się, gdy wartość nie zmienia
- 10. jQuery - Zdarzenie, gdy atrybut węzła zmienia się
- 11. Jak znaleźć nieużywany port TCP w Dart?
- 12. Czy Figwheel ocenia kod ClojureScript, gdy zmienia się plik zasobów?
- 13. Jak sprawdzić, czy połączenie jest resetowane przez peer w php?
- 14. Dyskusja: Serwer czatu przez node.js: HTTP lub TCP?
- 15. Tablica nie zmienia się, gdy metoda jest wstawiona
- 16. Serwer Java NIO o dużym obciążeniu TCP
- 17. Automatyczne ponowne połączenie z hostem TCP
- 18. Wykonaj funkcję, gdy zmiana mapy zmienia się
- 19. Serwer SQL: "połączenie zostało pomyślnie nawiązane z serwerem .... istniejące połączenie zostało przymusowo zamknięte przez zdalny host."
- 20. Jak sprawdzić, czy dany port jest otwarty i nieużywany?
- 21. ASP.NET Web Service zmienia port na Invoke
- 22. Node.js - serwer zamknął połączenie?
- 23. Sprawdź, czy port jest otwarty.
- 24. DatePicker.SelectedDate nie zmienia się, gdy wprowadzany jest tekst
- 25. Metoda onPreferenceChange nie jest wywoływana, gdy zmienia się Listpreferences
- 26. Klucz komputera zmienia się, gdy pula aplikacji jest ponownie przetwarzana.
- 27. Obiekt sesji zmienia się, gdy obiekt jest aktualizowany w C#
- 28. Jaki jest najgorszy przypadek, gdy port epmd jest otwarty?
- 29. Twisted: serwer tcp z przykładem producenta push?
- 30. PHP limit połączeń gniazda TCP - serwer Windows
Sesja jest identyfikowana przez kombinację źródłowego i docelowego adresu IP i portu oraz protokołu. Dlatego jest to 5-tka, która jednoznacznie identyfikuje połączenie, a nie 4-tkę. – treecoder
@treecoder Jaki protokół poziomu? Poziom transportu? Lub poziom aplikacji? Na przykład. '' lub ''? –
smwikipedia
poziom aplikacji – KawaiKx