0

私はソケットと、サーバーとクライアントのコードを作成する方法を学んでいます。

(ところで、私は非同期サーバーとクライアントソケットをやっています)。

私が本当に理解していないのは、新しいクライアントがサーバーに接続するときに、新しい StateObject を作成するということです。これは、実際の Socket やバッファ (指定された長さの byte[]) など、いくつかのフィールドを含むカスタム クラスです。

  • クライアントが接続されている限り、状態オブジェクトのこのインスタンスを追跡し続ける必要がありますか?それとも必要ありませんか?

  • 受信が完了した後、Socket は Shutdown および Closed (これらは 2 つの方法です) されていますか?

  • すべてのクライアントのリストを作成するにはどうすればよいですか? これらの状態オブジェクトのコレクションを作成する必要がありますか?

--

数日費やしたとしても、非同期ソケットの本当の働きを本当に理解していないので、私は尋ねています。

これらの状態オブジェクトのリストを作成し、 foreach ループでそれらのそれぞれにデータを 1 つずつ (実際には 1 つずつ) 送信しようとした場合、何を困惑させましたか (実際にはまだそうです)、送信されませんでした.

--

追加した:

T が Socket クラスになる List を作成して、すべてのクライアントを追跡し続けるだけで十分でしょうか? 状態オブジェクトはどうですか?データが渡されるときにのみ使用されますか:

  • サーバー側 (新しいデータが到着したとき);

  • クライアント側 (新しいデータが到着したとき)。

答えを事前にthx。

ミチャ

4

0 に答える 0