- - PR -
C#でのテキストの通信
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-15 11:51
お世話になっております。
Visual C#.NETを使っているのですが,ネットワークについて質問があります。 プログラムを2つ作り,片方のプログラムを送信側,もう片方を受信側とし, 送信側にテキストデータを入力し,ボタンをクリックすると受信側へ そのデータが表示されるような単純なプログラムはどのようにして作るのでしょうか。 紹介しているサイトなどもあればよろしくお願いします。 | ||||||||
|
投稿日時: 2006-07-15 12:22
こんにちは。
どぼん!さんが System.Net.Sockets 名前空間 のクラスを使って通信プログラムを作成する記事を書いておられます。 TCPクライアント・サーバープログラムを作成する TCPを利用した複数クライアント接続可能なチャットアプリケーションの作成 記事は .Net Framework 1.1 が前提になっていますが、2.0 を使うとしても参考になると思います。 *追記 System.Net.Sockets 名前空間 の URL が間違っていたので訂正しました。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for Microsoft Office System - Microsoft Office System (Jul 2006 - Jun 2007) Hello Another World! [ メッセージ編集済み 編集者: ue 編集日時 2006-07-15 17:40 ] | ||||||||
|
投稿日時: 2006-07-15 17:25
ueさん,ありがとうございます。
「TCPクライアント・サーバープログラムを作成する」では,コンソール プログラムで行っています。 私が言ったのは,「ボタンを押したら」です。 実際にボタンを押すと動くように書き換えましたが,フリーズして動かなくなりました。 「TCPを利用した複数クライアント接続可能なチャットアプリケーションの作成」では, あまりにも複雑すぎます。 よろしくお願いします。 | ||||||||
|
投稿日時: 2006-07-15 18:12
ueです。
「ボタンを押したら」というのは Windows Forms のアプリだということですよね? 手元の Visual Studio 2003 + C# で試してみましたが、TCPクライアント・サーバープログラムを作成する のサンプルを Windows Forms アプリに書き換えたらコーディングした通りに動きましたよ(当たり前か)。 フリーズしたのではなくて、同期で動くプログラムがフリーズしたように感じるだけだと思います。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||||||
|
投稿日時: 2006-07-15 20:19
つまり,tomoxさんが作ろうとしてるプログラムと全く同じモノが無いと駄目なんですか?
単純なアプリならTcpClientクラスとTcpListenerクラスのほうがお手軽ですよ。 | ||||||||
|
投稿日時: 2006-07-16 02:59
この場合、ボタンを押したら〜するって動作は質問の主題ではありませんよね。 何かのタイミングで、データを送信して、それが送信先に届くことが目的なのではないでしょうか。
まずは、実際にボタンを押すと「動く」ように書き換えてみましょうよ(^^) そのために生じた「不明な点」について、質問してみるのが良いと思いますよ。 | ||||||||
|
投稿日時: 2006-07-16 06:06
VisualStudioを使用しているなら、ステップ実行しながら どこで処理がとまっているかを確認してみるといいと思います。 で、できるならその部分を別スレッドで動かしてあげるとか、 他のイベントを受け取れるように設定してあげるとかいろいろありますよね | ||||||||
|
投稿日時: 2006-07-16 22:22
送信する文字列が短いのならUDPの方が簡単に作れると思います。
ただ,UDPは確実に届いたかどうかの保証がありませんが... LAN内だけでよいなら,ほぼ確実にとどくようなのでUDPがおすすめです。 |