2011-11-19 9 views

Odpowiedz

3

To dlatego, że UDP nie jest zorientowany na połączenie jak TCP, więc nie ma sensu w listen/accept jak w przypadku SOCK_STREAM. Spróbuj przeczytać akapit "2.1. Dwa rodzaje gniazd internetowych" w Beej guide to network programming i ogólnie w całym przewodniku jest to interesujące.

1

Jeśli dobrze pamiętam, nie ma żadnej metody Listen() związanej z Udp, zamiast tego wywołaj metodę receive(), która jest taka sama jak Listen() podczas korzystania z TCP, oba będą blokować proces, dopóki nie otrzyma pakietów . mam nadzieję, że to odpowie na twoje pytanie.

8

TCP to protokół przesyłania strumieniowego między serwerem a klientami. Protokół jest niezawodny i wymaga osobnego stanu dla każdego strumienia klienta serwera <. Protokół połączenia, zainicjowany przez nasłuchiwanie/akceptowanie, ustawia ten serwer na stan połączenia klienta: <>. UDP to bezpołączeniowy, niewiarygodny datagram, (komunikat), więc nie trzeba nasłuchiwać nowych połączeń - datagramy mogą przychodzić w dowolnej kolejności z dowolnego źródła.

Powiązane problemy