0
c#でlanmessengerを作成しています。そして、私はポートを介してメッセージを送受信するコードを持っていますが、それらを使用する方法については「軽微な」混乱があります。 各イベントで着信メッセージを受信するポートをリッスンする関数を常に呼び出すべきですか?そうであれば、メッセージを送信する関数をどのように呼び出しますか?ポートを介したメッセージの受信と受信
c#でlanmessengerを作成しています。そして、私はポートを介してメッセージを送受信するコードを持っていますが、それらを使用する方法については「軽微な」混乱があります。 各イベントで着信メッセージを受信するポートをリッスンする関数を常に呼び出すべきですか?そうであれば、メッセージを送信する関数をどのように呼び出しますか?ポートを介したメッセージの受信と受信
どちらかあなたは非同期メソッドを使用している場合は、callbackを受け取ることになりますので、あなたは、ポーリングによって行き詰まるません...
を非同期メソッド(例えばBeginReceive
)を使用する、またはthreadingを見てデータが受信されたとき。
スレッディングを使用する場合は、ループ内のTcpClient
プロパティ(たとえば、Available
プロパティをチェックすることによって)をポーリングすることができます。ポーリングがそれ自身で実行されるため、残りのコードは実行されません糸。
ありがとうございました...私は同期接続を使用することには頑張っていましたが、それは明らかに人生を難しくします。 – Avik
@Avik:もしあなたが非同期のものを使いたくなければ、スレッディングが動作します(これは通常私が取るアプローチです) –