cum funcționează ascultarea unui soclu

Dacă un client ascultă, de exemplu, de un socket la adresa http://socketplaceonnet.com , de unde știe că există conținut nou? Presupun că serverul nu poate trimite date direct clientului, deoarece clientul ar putea fi în spatele unui router, fără transmitere de porturi, deci nu este posibilă o conexiune directă. Clipul ar putea fi un telefon mobil care modifică adresa IP, așa că înțeleg că pentru ca clientul să fie un ascultător, serverul nu are nevoie să știe ip-ul clint-ului.

Mulțumesc

0
Faptul că conexiunea este directă sau nu schimbă nimic. Bytes (în pachete) vin pe computer (poate fi un tampon pe cardul dvs. de rețea) și, ca rezultat, un semnal este trimis software-ului dumneavoastră.
adăugat autor Denys Séguret, sursa
Un scurt introducere (legat de protocolul TCP).
adăugat autor Vidul, sursa

1 răspunsuri

A client socket does not listen for incoming connections, it initiates an outgoing connection to the server. The server socket listens for incoming connections.

A server creates a socket, binds the socket to an IP address and port number (for TCP and UDP), and then listens for incoming connections. When a client connects to the server, a new socket is created for communication with the client (TCP only). A polling mechanism is used to determine if any activity has occurred on any of the open sockets.

A client creates a socket and connects to a remote IP address and port number (for TCP and UDP). A polling mechanism can be used (select(), poll(), epoll(), etc) to monitor the socket for information from the server without blocking the thread.

In the case that the client is behind a router which provides NAT (network address translation), the router re-writes the address of the client to match the router's public IP address. When the server responds, the router changes its public IP address back into the client's IP address. The router keeps a table of the active connections that it is translating so that it can map the server's responses to the correct client.

0
adăugat
+1 excelent și bine explicat în mai puțin de 14 rânduri :)
adăugat autor Abdelouahab Pp, sursa
+1 Într-adevăr este o explicație foarte frumoasă și scurtă și dulce a mecanismului de votare a serverului în timpul comunicării.
adăugat autor Sudhir Kotila, sursa