-1

そのため、複数のクライアントがサーバーに接続して通信できる小さなチャット機能を作成する割り当てを受けました。サーバーは、通信する相手を選択できる必要があります。(ドロップダウンリストか何かから)。

これまでのところ、いくつかのチュートリアルの助けを借りて、クライアントがサーバーに接続して通信できるようになりましたが、それ以上のことはできませんでした。サーバーが通信できません。

私はこれに非常に慣れておらず、C# と TCP/IP の両方の知識が限られています。

https://gist.github.com/4565988 <-クライアントとサーバーの両方のコードが含まれています。

したがって、私が助けを必要としているのは、サーバーがさまざまなクライアントに応答し、クライアントがサーバーからメッセージを受信する方法です。

どんな助けでも大歓迎です!

よろしく、 フレドリック

4

3 に答える 3

0

出発点に関しては、WCF Duplex Servicesを見てください。Duplex を使用すると、サービスに登録し、双方向通信を使用して更新を送信できます。

getclients基本的に、次の 2 つの方法でサーバーを WCF サービスとして作成できますsendMessage。そこから、クライアントはサービスにサブスクライブし、(接続中に) 他のサブスクライバーのリストを取得し (これを UI に提供します)、メッセージをサービスに送り返します (サービスは二重化を使用して誰にでも送信します)。する必要があります)。

ソケットの使用に慣れていない限り、これはプロトコルを作成して接続のリストを管理するよりもはるかに簡単です。code projectで利用可能なチャット メディアとして WCF を使用する例もあります。

于 2013-01-18T18:19:16.937 に答える
0

本当に簡単です。クライアントが送信したものを正常に抽出して読み取るために使用するTCPストリームは、何かを送り返すために書き込むこともできるため、接続を移動し、オブジェクトを何らかの共有コレクションにストリームするだけです。サーバー側の送信ロジックが何かを送信したいときにそれを取得できるようにします。同様に、クライアントでは、TCP ストリームで read を発行して、サーバーが送信したものを読み取ります。

于 2013-01-18T21:45:03.377 に答える
0

TCP の知識については、Barbara Heckler のビデオを参照してください。彼女は、そのような種類のサーバーの簡単な実装を示しています。残念ながらJavaでは、それでも非常に便利です。

基本(UDP)の場合は0〜15分、TCP接続の場合は15〜40分、TCPにはマルチスレッドが必要でUDPには必要ない理由を調べました。

http://www.youtube.com/watch?v=5QzNHEcLp10

于 2013-01-18T18:33:33.383 に答える