- PR -

TcpClientによる接続

1
投稿者投稿内容
シチ
会議室デビュー日: 2005/12/16
投稿数: 16
投稿日時: 2005-12-20 21:42
こんにちは。
Windowsアプリを使用して、StreamReaderによりデータを取得したいと思っているのですが、うまくできません。
データは自動的にラベルに表示したいと思っています。
サーバへの接続、データの送信は行うことができました。
しかし、データの受信をラベルに表示させることができません。
実際に使っているメソッドは以下のようになっています。
private void ClientListen()
{
try
{
while (true)
{
ProcessMessage(reader);
}
}
catch(Exception exception)
{
Console.WriteLine(exception);
}
}

private void ProcessMessage(StreamReader reader)
{
string message = reader.ReadToEnd();
this.label2.Text = message;
}
接続ボタンをクリックして、上記の方法でデータを取得したいと思っています。
実際に、接続ボタンのイベントハンドラにもClientListen()を追加したいのですが、
そのコードもわかりません。
シチ
会議室デビュー日: 2005/12/16
投稿数: 16
投稿日時: 2005-12-20 21:43
失礼しました。
よろしくお願いします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-12-21 07:16
「GUI関係のメソッドやプロパティは、UIを作成したスレッド以外からは呼び出せない。他のスレッドから呼び出す場合には、Invokeを介して呼び出す必要がある」と言うのは認識してます?

引用:

しかし、データの受信をラベルに表示させることができません。


で、何が起こるの?あるいは起こらないの?例外が発生するの?
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-21 09:49
引用:

シチさんの書き込み (2005-12-20 21:43) より:

string message = reader.ReadToEnd();


これって、何も取れてきていないと思います。
null を Label の Text に当てるだけの動きになるかと。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)