DOBON.NET DOBON.NETプログラミング掲示板過去ログ

「TCPクライアント・サーバープログラムを作成する 」について

環境/言語:[windows2000,C#]
分類:[.NET]

こちらのホームページで公開されている
「TCPクライアント・サーバープログラムを作成する 」
のプログラムについてお聞きしたいのですが、

//接続要求があったら受け入れる
private System.Net.Sockets.TcpClient tcp = listener.AcceptTcpClient();

で、接続要求待ちの最中には
ほかの処理はできるようにならないのでしょうか?
この処理をバックグラウンドでループさせる感じにしておいて、
接続要求を待っている間にテキストボックスに表示させておいた
結果を確認したりといったことをできるようにしたいんですが、
どうでしょうか(^^;)
よろしくお願いします。
> この処理をバックグラウンドでループさせる感じにしておいて、
スレッドを使ってみてはいかがでしょうか
ただ接続待受けや受信待機はスレッドが固まるので外から停止させるようにしないといけないです
具体的にはループ内での停止フラグチェック、
ループ外からの接続待ち受けの強制停止などです

ちょうどUDPで同じようなプログラムを組んでいたので添付してみました
参考になれば幸いです
(この記事にはファイル"sample1.lzh"が添付されていましたが、削除されました。)
なるほど、こういうときにスレッドが役に立つんですね。
スレッドはやったことがなかったのでサンプルつきというのはうれしいです。
ありがとうございます。
早速試してみます。
■No6480に返信(アイアムサムさんの記事)
> なるほど、こういうときにスレッドが役に立つんですね。
> スレッドはやったことがなかったのでサンプルつきというのはうれしいです。
> ありがとうございます。
> 早速試してみます。

今日試したらできました。
ループ内の停止フラグチェックに
listener.Pendingっていう保留接続があるかどうかを
bool型で返してくれるメソッド(かな?)があったので、
それでスレッドが固まるのを回避することができました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板