実際、私はコンピューターネットワークを学んでいますが、その間、Webサーバーが複数の接続を維持する方法について混乱していますか?
簡単に言うと、いくつかのグーグルでは、ソケットが各クライアント要求を処理することを学びました。
Webサーバーがあり、IPを持つ2つのクライアントがあるとしましょう
Client A: 5.5.5.5
Client B: 10.10.10.10
どちらもポート80でサーバーに接続しようとします。
今、私が得たものをグーグルで調べると、サーバーはポート80で着信要求をリッスンします。次に、クライアントAがサーバーに接続(TCP / IP接続を確立)しようとするとします。この2つの間にソケットが作成されます。その後、さらに通信を行うために別のスレッドとして実行され、サーバーはその特定のポートで他のクライアント要求を再度リッスンします。そして、クライアントBは、同じように接続しています。
今、私の最初の質問は:
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番目の質問は次のとおりです。
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を読むことをお勧めします。ありがとう