私は今、C#を使っています。私が書いている最初のアプリケーションは単純なコンソールベースのIRCクライアントですが、それは難しいと思っていました。私は2つのストリームから読んでいるので、コンソール& irc-server私はある種のノンブロッキングI/Oが必要です。 .ReadLine()はブロックし、そう結局最後にTrueを返し、そう第二のブロックされているので非ブロッキングへのネットワークブロック、オプションとしてのスレッドのみ?
while (((sInput = sr.ReadLine()) != null) || ((uuInput = Console.ReadLine()) != null))
{
// stuff
}
しかし、これは常に、sInputを実行します:私は、次のコードを持っている瞬間
のORの実行されることはありません。
これに対する解決策は何ですか?それをスレッドで自分で実装するのですか?私は標準のC#ライブラリではNIOライブラリを見つけることができません。このプログラムを過度に複雑化したくないので、私は小さくて清潔なソリューションを好む。
非常に助かります。ありがとう。
ちょうどFYI:あなたが探したいのは、非同期呼び出しでIOを処理することです。ノンブロッキングソケットは不要です。 –