2009-03-11 21 views
0

c#でlanmessengerを作成しています。そして、私はポートを介してメッセージを送受信するコードを持っていますが、それらを使用する方法については「軽微な」混乱があります。 各イベントで着信メッセージを受信するポートをリッスンする関数を常に呼び出すべきですか?そうであれば、メッセージを送信する関数をどのように呼び出しますか?ポートを介したメッセージの受信と受信

答えて

2

どちらかあなたは非同期メソッドを使用している場合は、callbackを受け取ることになりますので、あなたは、ポーリングによって行き詰まるません...

非同期メソッド(例えばBeginReceive)を使用する、またはthreadingを見てデータが受信されたとき。

スレッディングを使用する場合は、ループ内のTcpClientプロパティ(たとえば、Availableプロパティをチェックすることによって)をポーリングすることができます。ポーリングがそれ自身で実行されるため、残りのコードは実行されません糸。

+0

ありがとうございました...私は同期接続を使用することには頑張っていましたが、それは明らかに人生を難しくします。 – Avik

+0

@Avik:もしあなたが非同期のものを使いたくなければ、スレッディングが動作します(これは通常私が取るアプローチです) –

関連する問題