Server

2012-10-29 13 views
7

Według tej stronie http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html mówi tak:Server

Serwer: "Puk puk!"

Klient: "Kto tam jest?"

Serwer: "Dexter."

Klient: "Dexter who?"

Serwer: "Sale Dextera z gałązkami ostrokrzewu".

Klient: "Groan".

Pomyślałem, że jeśli serwer nasłuchuje na porcie, który czeka na pukanie, klient będzie pukał, a serwer będzie mówił, kto tam jest. Sprawdziłem także inne strony internetowe i widziałem te same odpowiedzi klient/serwer.

Czy ktoś może wyjaśnić, dlaczego tak nie jest?

+3

Czy klient nie powinien zacząć od puk? Myślę, że protokół cofa się ;-) –

+1

@ Joachim Myślę, że o to właśnie chodziło. Zgadzam się, że przykład wydaje się odległy, a więc jest mylący. – DNA

+0

Cóż, wygląda na to, że nie przeczytałem tego pytania w wystarczającym stopniu: z punktu widzenia * protokołu * ma sens, że serwer jest pierwszym, który się komunikuje, jak to często bywa (HTTP jest tutaj wyjątkiem) w celu aby poinformować klienta o tym, który serwer (wersja oprogramowania, możliwości, ...) jest połączony z klientem. Z perspektywy * żartu * klient (tj. Ten "łączący się") z pewnością ma rozpocząć rozmowę domina. –

Odpowiedz

12

To tutorial mówi:

Po pomyślnym uzyskać połączenie między klientem a serwerem, można zobaczyć następujący tekst wyświetlany na ekranie:

Server: Knock! Knock! 

Więc to rzeczywiście klient, który inicjuje protokół (w kategoriach sieciowych), ale serwer, który inicjuje żart (w kategoriach konwersacyjnych). Zgadzam się, że jest to dość mylące.

To może pomóc, jeśli myślisz o tym jako o żartownym serwerze - aby uzyskać żart, musisz go poprosić! Gdyby było odwrotnie, miałbyś serwer, który po prostu słucha dowcipów, co nie jest tak przydatne (chyba, że ​​nie masz absolutnie żadnych przyjaciół).