Próbuję wygenerować losowy numer portu dla połączenia TCP. Od: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Wiem, że zakres portów od 1024 do 49151 nie jest zarezerwowany, ale niektóre z nich są tylko UDP, w jaki sposób mogę wygenerować tylko poprawne numery portów TCP?Dozwolony zakres portów dla TCP
Odpowiedz
Po powiązaniu z portem 0 system operacyjny wybierze poprawny port, który nie jest w użyciu.
Jeśli potrzebujesz losowego, a nie arbitralnego, wszystko od 49152-65535 powinno być bezpieczne do automatycznego używania w ten sposób, więc po prostu wybierz losową liczbę z tego zakresu. (być może trzeba będzie spróbować ponownie, jeśli port okaże się w użyciu).
Więc jakikolwiek port w tym zakresie obsługuje TCP? ponieważ ze strony wiki niektóre porty są oznaczone tylko dla UDP. Ponadto, w jaki sposób sprawdzić java, jeśli port jest w użyciu? dzięki! –
Wszystkie porty od 1-65535 obsługują TCP, TCP/UDP na tej stronie odnosi się do zarejestrowanych portów; to jest porty przypisane do określonego zastosowania. Sprawdzanie, czy port jest w użyciu, zwykle wykonuje się, próbując się z nim połączyć, jeśli pojawi się błąd dotyczący używanego portu, to jest. Jeśli nie ma znaczenia, jaki port otrzymasz, ale tylko, że go otrzymasz, powinieneś połączyć port 0, a następnie pobrać lokalny port z nowego gniazda, aby dowiedzieć się, co masz. – Eric
Aby opracować nieco, twój lokalny serwer wiąże się z określonym portem, ale UDP i TCP są w różnych "przestrzeniach nazw", a więc są niezależne. Serwery, które używają _both_, zwykle otwierają ten sam numer portu dla obu. _Connections_ są zdefiniowane przez 5-tkę protokołu, local-addr, local-port, remote-addr, remote-port, co tłumaczy, dlaczego nie używasz "cross-talk" i tym podobnych. –
- 1. Jak określić zakres portów dla gniazd Java?
- 2. Znajdowanie portów TCP używanych przez aplikację
- 3. Jak przyspieszyć proces skanowania portów TCP?
- 4. Jaki zakres dat jest dozwolony w JavaScript?
- 5. Przekierowanie portów dla Mysql
- 6. Chrome DevTools przekierowania portów nie działa dla wysokich numerów portów
- 7. Czy mogę dodać zakres portów w netsh add urlacl?
- 8. Używanie określonych portów dla webRTC
- 9. Jak wyłączyć przekazywanie portów reklamowych?
- 10. Uruchamianie usługi Docker dla systemu Windows, błąd podczas wystawiania portów
- 11. Docker skontrolować Format odzyskać mapowanie portów
- 12. Lista portów szeregowych portów szeregowych + opis
- 13. Alternatywne terminale portów szeregowych dla systemu Windows
- 14. Dlaczego przekazywanie portów nie jest obsługiwane?
- 15. W jaki sposób dozwolony zakres liczby całkowitej może być ograniczony przez błędy czasu kompilacji?
- 16. Używaj portów szeregowych RFC2217 z Twisted Python?
- 17. Docker komponować mapowanie portów
- 18. Kody portów lotniczych - iOS
- 19. Python locals() dla zawierający zakres
- 20. Sens "zakres" D (dla parametru)
- 21. bash dla pętli: zakres numerów
- 22. vb.net - Dlaczego operator + = nie jest dozwolony dla ULong (UInt64)?
- 23. Czy dozwolony jest "border-radius"?
- 24. Biblioteka taka jak ENet, ale dla TCP?
- 25. Czas na Linuksa dla gniazd TCP
- 26. Zwiększ okno odbioru TCP dla określonego gniazda
- 27. Parsowanie danych pakietu TCP
- 28. Konfiguracja portów sieciowych Apache Spark
- 29. Dostęp do portu TCP i C++
- 30. Czy muszę duplikować dyrektywy Virtualhost dla portów 80 i 443?
Wszystko powyżej 1024 jest uważane za dobre dla klienta TCP. Myślisz o tym zbyt wiele, jeśli chcesz zobaczyć wpis na stronie wikipedii, aby był to "dopuszczalny" port TCP. Wszystkie porty TCP = <1024 są dopuszczalne dla portów źródłowych gniazd klienta. –