• ベストアンサー

TCP/IPで2台のコンピュータで文字列を送受信する

こんにちは。 コンピュータAとコンピューターBをクロス・イーサネットケーブルで接続し、固定IP(私の場合は192.168.0.11と192.168.0.12を使用しています)を割り振りました。 ここでTelnetやTeraTeamで接続して、文字列を送受信したいのですが、TeraTeamでTCP/IPを選択し相手のパソコンのIPを打ち込んで接続しようとすると、"Connection Refused"と出てきて接続できません。どうすればTCP/IPで文字列を送受信できるようになるのでしょうか? 追記A: コンピュータAとコンピュータBのCOMポートをDB9・クロスケーブルで接続し、TeraTeamを走らせてコンピュータAのキーボードを"ABCD"と打つと、コンピュータBのTeraTeamには"ABCD"と表示されますが、丁度それをイーサネット接続でやりたいのです。 追記B: 結局最終的に何をやりたいかを大まかに言いますと、コンピュータAがコンピュータBからTCP/IPで数値を受け取り、コンピュータA内で計算をしてその結果をコンピュータBに送り返すようなアプリケーションをコンピュータA・Bで作りたいのです。なぜCOM接続ではいけないかといいますと、これをローカルLANネットワークで展開したいからです。 追記C: コマンドプロンプトでPINGをしてお互いのコンピュータが見えることは確認していますし、エクスプローラのアドレスに"\\192.168.0.11\"とじか打ちすることによって相手のコンピュータのファイルにもアクセスできるので、コネクションには問題ないと思うのですが。ただしアプリケーションでは相手にファイルの情報を送受信するような高等なことをやりたいわけではなく、文字列のようなシンプルなやり取りをやりたいだけなのです。

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

  • ベストアンサー
回答No.3

イーサネット接続でTCP/IPで、文字列の送受信をするには、片方がサーバー、片方がクライアントになるプログラムでなければならないですね。 TeraTermでTCPIPの場合などは、クライアントプログラムとして動いているので、相手がポートを空けて待機しているようなサーバープログラムでないと接続できないと思います。 シリアルイーサネットコンバーターのようなものもありますが、今回のケースは単純にクライアント/サーバープログラムを作るのが一般的です。 winsockは、ほとんどの言語から使えます。 winsock at all http://www.kt.rim.or.jp/~ksk/wskfaq-ja/ winsock with VB http://oshiete1.goo.ne.jp/kotaeru.php3?q=155606 winsock with Delphi http://www.asahi-net.or.jp/~NK2W-ISHR/winsock0.htm

maruyl
質問者

補足

ありがとうございます。理解は非常に深まりました。 話が枝分かれになってしまいますが、 「シリアルイーサネットコンバーター」 とは具体的(ハードウエアですか?)には何のことでしょうか?

その他の回答 (4)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.5

VC/VC++ を使われるということですが VCのサンプルプログラムにTCP/IP通信のサンプルがあります 参考にしてみてはどうでしょう ※ VC++ Ver6 では  MFC サンプル CHATSRVR(サーバ側)                  CHATTER(クライアント側)  が存在しています

maruyl
質問者

お礼

ありがとうございました。使用させてもらっています。返答が遅れて申し訳ありませんでした。

回答No.4

>具体的(ハードウエアですか?)には何のことでしょうか 「COM接続である必要がある」ような事が質問に書いてあったので 質問の目的がシリアル接続のハードとのイーサネット経由での 通信である可能性も考えて参考までに言ってみたのですが。 シリアルイーサネットコンバーターは、以下のような物です。 http://e-kit.jp/products/xport/assembly.htm http://www.co-nss.co.jp/products/network/lantronix/xportdirect/xportdirect-top.html あるいは パソコン - 仮想COMポート - LAN - 仮想COMポート - パソコン のような中継するプログラムも、そう呼べると思います。 (パソコン間で仮想COMポートを使ってイーサネット経由で通信。ハード的にはLANポート(TCP/IP)が必用) で、オープンソースの com0com という仮想COMポートを作ってくれるソフトウェアが有ります。 参考 http://rltm9940.blogspot.com/2008/06/com0com.html com0comは、2つのポートが仮想的にクロスケーブルで接続されたように振舞います。 なので、実際、仮想COMポートをcom0comで作って、teratermでCOMポート経由で 2つのパソコン間で、文字列を送受信するという場合、以下のようなアプリケーション を作ればよいという事になると思います。 それぞれのパソコンで com0comで COM20とCOM21を作って仮想的に繋ぐ。 パソコンAのアプリケーション ・TCP/IPサーバーとしてTCP/IPポートを開いて待機し、クライアントが接続してきたら接続を維持する。 ・COM20を開いて、読み書きするループとかスレッドとかを作る。 ・COM20の内容を随時TCP/IPで送受信(クライアントに転送)する。 パソコンAのTeraTerm ・COM21を開いて、文字列などを送受信する パソコンBのアプリケーション ・TCP/IPクライアントとしてパソコンAに接続する。 ・COM20を開いて、読み書きするループとかスレッドとかを作る。 ・COM20の内容を随時TCP/IPで送受信(サーバーに転送)する。 パソコンBのTeraTerm ・COM21を開いて、文字列などを送受信する そんな感じです。 (アプリケーションは2個作る必要は無いと思います。 文字列を送受信するだけなら、サーバーとクライアントの違いしかないので 同一アプリケーションで、サーバーモードとクライアントモードの両方を 選択できるような作りにしておけば、二度手間には成らないと思います)

maruyl
質問者

お礼

ご丁寧にご回答ありがとうございました。勉強になりました。返答が遅れ申し訳ありませんでした。

  • necomimi
  • ベストアンサー率41% (633/1540)
回答No.2

言語は何で作るのでしょう? それが決まれば、それの開発ツール&ライブラリに通信用の WINAPI、もしくはコンポーネントがあるはずです。

maruyl
質問者

補足

ありがとうございます。 言語は一番司令塔に位置するところのコンピューターでVC/VC++、または末端のノードでインターネットコントローラー(RTL8019AS)を制御するマイクロコントローラを使用するつもりです。結局は個別の開発環境での制御方法に依存するのでしょうね・・・

  • Hoyat
  • ベストアンサー率52% (4897/9300)
回答No.1

WindowsでTelnetを使う方法。 http://www.atmarkit.co.jp/fwin2k/win2ktips/216telnetsrv/telnetsrv.html 追記Bと追記Cは矛盾してますね。 「相手にファイルの情報を送受信する」事ができなきゃ「コンピュータAがコンピュータBからTCP/IPで数値を受け取り、コンピュータA内で計算をしてその結果をコンピュータBに送り返すようなアプリケーション」なんて出来ません。 計算結果だって立派なデータファイル情報です。

maruyl
質問者

補足

おかげさまでコンピュータAをTELNETのサーバーにセッティングして、Bからログインすることが成功できました。非常に参考になりました。 私は私のアプリケーションでTCP/IPでも(プロトコルのハードウエアのレイヤーにあるような)シリアル通信のようなパケット通信ができるのだろうなと思っていたのですが、データが通信されたという観点ではファイルシステムの「ファイル」も私のアプリケーション内の「計算結果」も変わらないというご指摘なのですね。ありがとうございます。

関連するQ&A

  • TCP/IP

    いつも質問ばかりしておりますが、今回も何方かお願いします さて、PC 2台の接続ですが、思うようにつながりません。 PC-Aは、アパレル用CADで使用しています(WinXP Pro)       HP社  TCP/IP   192.168.0.1    255.255.255.0 PC-Bは、CAMの操作用のPCです(WinXP home)       自作PC TCP/IP  192.168.0.2    255.255.255.0 ワークグループは、両方とも同じにしています(大文字、小文字も同じです) 両方ともマイネットワークを開き、ワークグループを表示させると、 そのPCのアイコンは  表示されるだけです。再起動を何度もしていますが、  変化は、ありません。 それと、HUBは、バッファローの製品です、  PC-AはHUBのNo.2   PC-BはNo.3に接続しています。  アパレル用CADは、設定が違うのでしょうか?? インターネットへの接続は、不要です。 何方か、お願いします。  

  • 全銀TCP/IPについて

    業務で全銀TCP/IPでのデータの送受信を使うことになったのですが、 全銀TCP/IPについて知識がまったく無いので、どなたかご存知でしたら教えてください。 A,Bの2つの環境があって、 AとB相互にファイルのやり取りが必要な時は、 AとB両方の環境に全銀TCP/IPソフトのホスト版、クライアント版が必要なのでしょうか? それとも、開局要求を出せるのがクライアント版だけであって、 開局した後はホスト側からでもファイルを送信することが出来るのですか? 知識が無いので、見当はずれなことを言っているかもしれませんが、 よろしくお願いいたします。

  • TCP/IPだけが通らないのですが、、、

    IBM ThinkPad 240Z を使用しています。 元々PCの付属のイーサネットポートで社内LANに接続していたのですが、 あるときからインターネットに接続することができなくなりました。 但し、Microsoftネットワーク、Netwareネットワークは共に接続ができます。 Pingコマンドでサーバーに打つと返ってこず、自分のIPに打つと返ってきます。 勿論、IPアドレス、サブネット、ゲートウェイ、DNS等の設定は問題ありません。 恐らく、TCP/IPが正常に動作していないようなのですが、コンパネのネットワーク から、TCP/IPを一旦削除し再度インストールしてもダメです。 どうしてなのでしょうか?何を調べたらいいのでしょうか? どなたか至急に教えて下さい。大変困ってます。 

  • WIN95のネットワークコンピュータTCP/IPについて

    WIN95のネットワークコンピュータTCP/IPの設定画面で、IPアドレス設定とGatewayの設定のタグの部分で、アドレスを設定しようとして、マウスで入力部分をクリックしても、カーソルが表示されず設定できません。さらに、TCP/IPの設定画面は、英語表示になっています。NetBEUI等は、正常に日本語表示されています。ネットワークコンピュータ自体は、サービス、プロトコル等を入れ直してみましたが、復旧しませんでした。 現在は、DHCPでなんとかネットワークに接続されていますが、winipcfgを実行すると、エラーで『IP設定を読み取れません』と表示されます。 どなたか、ネットワークコンピュータ(TCP/IP)を正常に戻せる方法を教えて下さい。(ネットワークコンピュータの再インストール等)

  • VC++でのTCP/IP接続プログラム

    こんにちは。 VC++で開発を行っています。 TCP/IP接続(ストリーム型)のプログラムがうまく書けません。 UDP/IP接続は出来たのですが・・・。 TCP/IP接続で、送受信可能なプログラムを作りたいと思っています。 一つのアプリケーションで、サーバーとクライアントの役割を持たせたいのですが・・・。 不可能でしょうか?? VC++でTCP/IPを利用したプログラムのサンプルでも構いません。 なにか情報をお持ちの方、教えてください。 よろしくお願いします。

  • アセンブラでTCP/IPのプログラム 無謀ですが挑戦したいです。

    アセンブラでTCP/IPのプログラム(イーサーネット RJ45)を使って通信するプログラムを1から(趣味・勉強)で書こうと思います。 例えば昔、RS232CでAという文字をやりとりするようなプログラムを書いたことはあるのですが、 イーサネットはちょっとハードルが高く、とっかかりが見つかりません。 参考できる書籍などありましたら、教えて下さい。

  • TCP/IPなのでしょうか?

    CATVでインターネットしています。引越ししたのでISPはおなじものの 接続をわすてしまって,苦労してます。 ケーブルモデムではクロスケーブルでハブにアップリンクでつないでいます。 1台のWIN機 にはストレートでこれは大丈夫ですが,もう1台の MACがおかしくTCP/IP をひらいても普通にIPアドレスとかも見えています。 なのにネット自体にはつながらず、「他のアプリが使われています・・・」 というのでおかしいなーと想いました。 どなたか良いアドバイスをお願いします。参考程度でもいいです。

    • 締切済み
    • Mac
  • TCP/IPの追加ができません

    友人の話なのですが・・・。 自宅で使用しているPCを社内LANに接続しようとしたところ、IPアドレスが取れない(通常は自動取得)ので、システム管理者に教えてもらった固定のIPアドレスを設定しましたが接続できないとのこと。試しに、ネットワークコンピュータのプロパティでTCP/IPを再インストールしようと思いましたが、TCP/IPが表示されません。(OSはWin-ME) 解決方法をご存知の方がおりましたらよろしくお願いします。 ネットワーク製造元:Microsoft ネットワークプロトコル:TCP/IP←←←これが表示されません!                    他のプロトコルはあります

  • TCP/IP削除について

     ルータを使ってネットワークに接続していたところ、突然インターネットが見れなくなり、いろいろ試してみようと思い、インタネットプロトコル(TCP/IP)を削除し、再インストールしてみようと思い、実行しました。インストールの再にCD-ROMを使うかという問いがあったのですが、それを拒否してしまいました。再起動をしてから、インタネットプロトコル(TCP/IP)をインストールし、また再起動をかけてみたところ、今までに見たことのないような、クラスBのネットマスクのIPが振られるようになってしまいました。やはり、インタネットプロトコル(TCP/IP)を削除したことは非常に問題があったのでしょうか?

  • TCP/IPお勉強中です

    TCP/IPのレイヤー2、3についての質問なのですが、 CISCOのCAT2900XLのL2スイッチが一台あって、それにPC-A、PC-Bの2台接続しています。 最初にAとBとL2スイッチを同一のネットワークアドレスに設定して、現在は通信できる状態になっています。 ただ、後になって疑問に思ったのですが、 1・L2スイッチはレイヤー2であって、パケットの送信をしているわけではないので、別にL2スイッチのIPアドレスは必要ない? 2・L2スイッチにIPアドレスを設定するのはL2スイッチ自体を調整するときの為? 3・L2スイッチにAとBを同一ネットワークアドレスにして接続して、 さらに、別のネットワークアドレスのCとDを接続したとき、 A-B,C-D間の通信は出来ますか? なんか本読んでいるとレイヤ2はMACアドレスで通信するからIPアドレスとか関係なさそうだと思ったのに、ネットワークアドレス違うと通信できないとか・・・ちょっと混乱してます。