На самом деле я изучаю компьютерные сети, и в то же время я не понимаю, как веб-сервер поддерживает несколько соединений?
Проще говоря, я узнал, что в результате некоторого поиска в Google сокеты обрабатывают каждый запрос клиента.
Допустим, есть веб-сервер и, скажем, 2 клиента с IP
Client A: 5.5.5.5
Client B: 10.10.10.10
Они оба пытаются подключиться к серверу через порт 80.
Теперь, от поиска в Google, сервер прослушивает порт 80 на предмет входящих запросов. Затем допустим, что клиент А пытается подключиться к серверу (установить соединение TCP / IP). Во время которого создается сокет между этими двумя. Затем он выполняется как отдельный поток для дальнейшей связи, заставляя сервер снова прослушивать запросы других клиентов на этом конкретном порту. И Клиент Б подключается так же.
Теперь мой первый вопрос:
1. How does server communicate with these two clients simultaneously
after the connection has been established?
Теперь к серверу могут подключиться практически не 2 клиента, а тысячи и миллионы пользователей.
Тогда мой следующий вопрос:
2. Now, how do those thousands of clients get connected to a single server?
If we assume every client is connected to the server through wire, it is not
practically possible to maintain that many sockets on a hardware for
connection. How those thousands connections are made and handled?
И наконец, мой третий вопрос:
3. Above I said (actually heard) how **client A** connected to the the server
and similarly the client B.
But I didn't get the part stating "after a TCP/IP connection is made they
continue separately in a separate socket and making server to listen for
other client requests." What does that mean? If one client is communicating
to the server, how come other can communicate at the same time to same server.
Isn't it like while a student is asking question to a teacher, other can't
ask at the same time since that particular student is busy or occupying the
teacher at the moment so others should wait, which we compare than client B
should wait when client A is communicating.
Это мои основные вопросы, которые я не получаю. Пожалуйста, поправьте меня, если я все понял неправильно. Вы можете предложить мне некоторые книги / PDF-файлы для чтения, если ответы детализированы или не сфокусированы на конкретной части. Благодарность