VB2005で簡単なデータ送信方法を学ぼう

このQ&Aのポイント
  • VB2005のスタンダードエディションで、対象のIPに値を送信する方法を教えてください。
  • 接続状態を確認し、オンラインならテキストボックスの値を送信ボタンで送信し、オフラインならエラーメッセージを表示します。
  • タイマーを利用して1秒ごとに相手からの値を受信することができます。他にもメッセンジャーのようなアルゴリズムや基本的な命令文の情報を教えてください。
回答を見る
  • ベストアンサー

【VB2005】簡単なデータ送信

VB2005のスタンダートエディション?で、 メッセンジャーのように、値を対象のIPに送信する方法があれば おしえてください>< 日本語で、ソースのイメージを説明します。 ・接続状態を確認 ・オンライン中ならば、テキストボックスにある値を "送信ボタン"を押すことで送信。 ・オフラインならば、「メッセージは送信できませんでした」と エラーレジュームにて回避させて表示。 ・タイマーで、1秒感覚で、相手からの値を受信する。 以上です。 メッセンジャーのようなアルゴリズムで、最適な方法が ほかにもあれば教えて頂けたら幸いです。 基本的な命令文もわかっておりませんが、 そこからアドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

相手のIPが分かっているなら参考URLのソースが役に立つかもしれません 『ソケット通信を実装する方法について』 http://www.microsoft.com/japan/msdn/vbasic/migration/tips/Socket .NET Frameworkの TcpListenerやTcpClientクラスを使って通信処理を実装します メッセンジャーのような実装にするのであれば TcpListenrを別スレッド実装しアプリケーション自体がサーバー/クライアント機能を備える必要があるでしょう なお日本語など2バイト系の文字を使った際にバグがあるようですので修正が必要です http://oshiete1.goo.ne.jp/qa3982673.html

参考URL:
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/Socket
dizzdive
質問者

お礼

親切に、どうもありがとうございました。 だいたい、わかりました。

関連するQ&A

  • VB2008で

    VB2008で System.Threading.Thread.Sleepを使って5秒後にテキストボックスにaと表示させるプログラムを作ろうとしましたが、うまくいなないため、タイマーコントロールを使用したいと思ったのですが、どのようにしたらいいでしょうか?

  • ActiveX EXEとタイマーとVB

    いつもお世話になってます。 さっそく質問ですが、 ActiveX EXE側にタイマーとテキストボックスを持っています。 VB側のフォームにテキストボックスがあります。 VBからActiveX EXEを起動させ、決まった時間(例えば5秒おき)にVBのテキストボックスに ある文字を表示させる、ということがしたいです。 条件として、 VB側の動きは、 (1)最初のActiveXを起動 (2)ActiveXのSetとNothingだけしかしない                   しかしません。 なので、ActiveXからは「RaiseEvents」はしません。 ActiveX側で、タイマーイベント部分に、 ActiveXのフォームのテキストボックス.text = "文字" set △△ = ActiveXのフォームのテキストボックス (△△は、ActiveXのフォームのテキストボックスとしてセットされています。) のように、プログラムしてみたのですが、 VB側のテキストボックスに表示できませんでした。 尚、VB側は、ActiveX以外の処理があるので、途中からActiveXを起動させることになります。 この条件で、VBのテキストボックスに文字を表示させることはできますか? もしできるとしたら、どのような方法がありますか?? まだネットや本で調べ途中なので、もし何か参考ページがありましたら教えていただきたいです。 よろしくお願いします。

  • VBでメール送信ソフトを作成

    こんにちわ。 タイトルの通りなんですが、VBで簡易的なメール送信 ソフトを作ろうと考えています。 (テキストボックスに入力された文字を送信) VBでメールの送信(受信)を行うには、Winsockを使用 すればいいというのは分かりましたが、具体的な使用 方法がわかりません。 まだ入門書片手にVBの勉強をしている者なので、細か く解説してくれる方、また詳細な説明のあるサイト を知っている方がいらっしゃいましたらご回答ください。 よろしくお願いします。

  • VBでリアルタイムオークションをしたい

    VBを使ったリアルタイムオークションをするソフトを作っていますが 一番肝心なデータのやりとりが全く無知で悩んでいます。 構成としては、中心にサーバーがあり、そこへ多数のクライアントが データーを見に来る(データーを送る)という事ですが 私の頭の中では、クライアント側がタイマー制御で ごく短い間隔(0.5秒以下)でサーバーのデータを読みに行く と言うことぐらいしか思いつきません。 これではどう考えても重いソフトになりそうで、いわゆる オンラインゲームのような感じで随時サーバーのデーターを 読む(読みっぱなし)にする方法は無いのでしょうか? サーバー側のデータが変化したら随時クライアント側も そのデーターを取得することが軽く簡単にできないかと 思って 色々探してRTCというものを見つけましたが いわゆるオンラインチャット(メッセンジャー)のよう なものを作れるAPIみたいです。 これですと相手がオンラインやオフラインになったら 随時自分の表示も変わるので、できない事はないと思っていますが どうも自分の意図した動きではないような感じで うまくプログラミングできません。 また、肝心なデーターの読みとり方法として Inet を使ったFTP接続による読みとりしか思いつかず インターネット環境からの読みとりはVPNを構築すれば 簡単ですが、設備の負荷はかけたくないので、これも 何とかクリアできないかと悩んでいます。 そもそもJAVAやフラッシュではできることのようなのですが VBには不向きな処理なのでしょうか? VBばかりやってきているので、VBで何とか作りたいのですが リアルタイム通信については全く情報が無く困っています どなたか 良いアイデア、参考ページ、解説などご教授いただける とたいへん助かります。 どうぞよろしくお願いしたします

  • VBでの質問です

    VBでの質問です とあるボタンを押すと5分から0分までカウントダウンするタイマーで0分0秒になったら「時間になりました」と表示するプログラムを作りたいのですが、どのようにしたらいいのでしょうか。 ちなみにメッセージボックスの作り方はわかります。

  • VBのタイマーコントロールについて

    VB2005のタイマーコントロールで疑問があります。 ピクチャーボックスコントロールにラベルを貼り付けて タイマーコントロールで文字がスクロールする プログラムを作ったのですが、 タイマーコントロールのインターバルを10msから120msまで 500回タイマーのイベントをカウントしたタイムとストップウォッチで 計ったタイムを比べたらズレが生じることが分かりました。 人間の手で計っていますが、計測方法としては、タイマーをスタートするボタンと同時にストップウォッチのスタートを押し、カウンターが500回で止まった時点でストップウォッチを止める方法でWindowXPでCPUがCore2 DuoのパソコンとWindowsMeでCPUがPentiumIIIのノートパソコンで下記のように計測しました。 WindowsXP 10ms…8秒24、20ms…15秒84、30ms…15秒82、40ms…24秒64、50ms…31秒60、60ms…31秒72、70ms…41秒21、80ms…47秒40、90ms…47秒32 後省略 WindowsMe 10ms…28秒25、20ms…28秒21、30ms…28秒10、40ms…28秒23、50ms…28秒28、60ms…57秒20、70ms…57秒43、以下ほぼ一緒なので省略110ms…56秒93でした。 その後、VBのヘルプの検索で、Windowsのタイマーの精度は55msとあるのを発見したのですが、WindowsMeのノートパソコンでは、55msの精度にあったデータが帰ってきたのですが、 WindowsXPのパソコンは、どう見ても内部精度は違うような結果に見えます。 どなたかタイマーの精度について知っておられる方、教えてもらえますか? よろしくお願いします。

  • スカイプのテキスト送信について

    海外留学中の息子とスカイプをすることになったのですが、お互いのオンラインの時間がなかなか重ならないため、オフラインの息子向けにテキストメッセージを送信しているんですが、どうも読まれていないような感じです。 相手がオフラインであれば、テキストメッセージは蓄積されずに消えてしまうのでしょうか? メッセンジャーやICQなどは残っていたような記憶があるんですが。

  • VBでの入力値制限について

    はじめまして。 VBのテキストボックスに値を入力していき、ある桁数になるとメッセージを表示する仕組みを作りたいと考えています。 例えばVBで用意したテキストボックスにキーボードで123と入力しキーボードの4を押した直後に「桁数は3桁までです。」というメッセージを表示したいのですがいい方法を教えていただけないでしょうか? 自分で以下のように作ってみたのですがこれだとキーボードで123と入力し次に4を入力した時にテキストボックスに4が表示されてからエラーが出ます。そうではなく4をテキストボックスに表示させずに4をおしたら以下のメッセージが出るようにしたいのです。 よろしくお願い致します。 Private Sub text1_Change() If Len(text1.Text) > 3 Then MsgBox "桁数は3桁までです。", vbOKOnly + vbInformation, "情報" End If End Sub

  • VBのテキストボックスに値が入っている場合にゲットフォーカス時値を反転させるには?

    VBの画面で テキストボックスに値が入っている場合に タブ等でそのテキストボックスにフォーカス移動したさい 値が反転するようにするにはどうしたらよいでしょうか? よろしくお願いします。

  • VB6で定時刻処理

    VB6で1日1回、決まった時間に処理をさせたい、という場合、どういう方法で行うのが一番いいのでしょうか。 私が現在やっている方法は、 1分ごとにタイマーイベントを発生させ、その中で、現在の日時が指定の時刻だったら処理を起動する、という仕組みです。 しかし、これでは負荷状況によってはタイマーのイベントや、以降の処理が待たされ、時刻の判定をするタイミングで、すでに目的の時刻を過ぎてしまっているということが考えられます。 タイマーイベントが9:59:59秒に発生し、現在時刻を取りに行ったら10:00:00秒になっていたというようなケースです。 時刻の判断は、hh:mmのフォーマットで比較しているので、分の単位が違えば条件に合致しなくなります。 誤差範囲を設け、「現在の時刻-30秒 < 指定時刻 <= 現在の時刻+30秒」のような条件にすれば、ある程度回避できますが、1分以上待たされるようなケースでは対応できません。 このような状況を回避するにはどうしたらいいでしょうか。 処理を起動する時刻が可変なので、Windowsのタスクなどは使えないです。 ATコマンドをうまく使えばできるのでしょうか。 よろしくお願いいたします。

専門家に質問してみよう