2011-01-24 5 views
0

サーバにデータを送信し、メッセージを受信するTCPクライアントを実装する必要があります。 通信モデルは非同期である必要があります。あなたはこれを行う良い例がありますか? 私は別のスレッドでそれを実装する必要があります...常にソケットから読み続けるか? ...またはソケットのBeginReceiveパターンを使用できますか?.net tcp client async model

おかげで、 ラドゥ

答えて

1

サーバーにTCP経由で接続すると、サーバーが同じソケットに戻ってクライアントに話すことができるので、あなたは二重チャネルを取得します。

begin receiveを使用すると、ワーカースレッドの作成を避けて、常にソケットを読み取ることができます(BeginSendと同じ方法)。あなたがやろうとしていることについてもう情報がなくても、それは私があなたに与えることができる最高のものです。はい、できます。 :)

+0

メッセージを送信するメソッドを持つクラスを設定する方法(私の場合はセッション)を表示し、常にサーバーからすべてのメッセージを受信する記事を知っていますか。問題は、私がメッセージを送信し、しばらくしてから回答が来ることです...しかし、その時間にサーバーは私に多くのメッセージを送るかもしれません。 –

+0

本当にありませんが、あなたが望むものはBeginReceiveを行い、AsyncCallbackでは別のBeginReceiveを行います(非同期受信でループするように)。もちろん、非シーケンシャルな送受信について話しているときにアプリケーションプロトコルを管理することは別の話です。 –

+0

私はその部分を別のBeginReceiveで逃したと思う –

関連する問題