私は何日もオンラインで検索してきましたが、VB6Winsockでこれと同じ問題を抱えている人を見つけることができません。これが私の問題です。アレイに2つのwinsockを備えたサーバーがあります。次に、それぞれ1つのwinsockコントロールを持つ2つのクライアントがあります。これで、サーバーが最初にクライアントAにデータを送信するように設定しました。次に、クライアントAがそのデータを受信し、独自のデータをサーバーに送り返します。次に、サーバーはクライアントBにデータを送信します。クライアントBがデータを受信すると、サーバーは自身のデータをサーバーに送り返します。つまり、データはクライアントからサーバーに送信され、次にサーバーから別のクライアントに送信され、次にサーバーに戻され、次に別のクライアントに送信されます。本当にやりたいようにやってみたら問題があったので、こうしました。そのため、一度に1つのクライアントのみがサーバーにデータを送信するようにするには、このように設定する必要がありました。このプロセスは完全に機能しますが、イメージできるようにクライアントが多いほど、各クライアントとサーバー間のデータ転送の遅延が長くなるため、別の方法で機能させたいと思います。
ですから、私が本当にやりたいことは、仕事に就けないことですが、クライアントが必要なときにいつでもサーバーとデータを送受信できるようにすることです。つまり、クライアントAがサーバーにデータを送信してから、サーバーがデータを送り返します。その間、クライアントBは同じことを行います。これを行うと、サーバー上にwinsockアレイがありますが、問題が発生します。クライアントAが最初に接続すると、サーバーとのデータの送受信を開始します。ただし、クライアントBがサーバーに接続すると、クライアントAとサーバー間のすべての通信が停止し、クライアントBのみがサーバーとデータを送受信します。これでいくつかのテストを実行しましたが、クライアントAは常にサーバーに接続されたままです。しかし、何らかの理由で、2つのクライアントが同時にサーバーにデータを送信すると、各winsockが異なるポートにある場合でも、1つのデータ到着イベントのみが発生するようです。
ですから、誰かがこれを読んで、私が理解していないのは何か、私が間違っているのは何なのかを説明してくれることを本当に望んでいます。