- ベストアンサー
組込み装置からインターネット上のサイトにアクセスする方法
社内のLANからPCなどはインターネットに接続できますが、 同じLAN上に接続した組込み装置からインターネット上のサイトまたはFTPサイトに アクセスすることは可能でしょうか? この組込み装置というのは、T-Engine開発キットというものでT-Shellというものを購入し、 LANのドライバが動作します。 このため、LAN内のFTPサーバーなどにはアクセスできます。 しかしながら、インターネット越しのフリーのホームページのFTPサイトなどにはアクセスできません。 情報不足かもしれませんが、ご回答お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
T-ShellのTCP/IPドライバと言っても一部の関数名は変わっていたかもしれませんが基本的にはBSDソケットですからCプログラムを書くならLinuxなどと大きな違いはありません。 httpではプロキシ経由でも基本的にはTCPセッションを繋いでリクエスト(RFC2068に則った数行のテキスト)を送り応答を受取るだけです。 きちんとしたエラー処理をやって(正しく実装されているとは限らない)任意のサーバに繋げるようにと考えると難しいでしょうが、接続先サーバが分かっていてエラー処理を端折れれば簡単なものです。 とりあえず繋がれば良い程度のhttpクライアントなら一週間もあれば書けると思います。
その他の回答 (3)
- rinkun
- ベストアンサー率44% (706/1571)
とりあえずftpにプロキシの設定をする機能があるか確認してください。あれば適切なプロキシを設定することでアクセスできると思います。 なければ自作するしかないでしょう。httpはまじめにエラー処理するのでなくとりあえずつながれば良いだけならそんなに難しくはありません。TCPコネクションを開いて数行の文字列を送るだけで応答を受け取ることはできます。 RFC2068などを参照して書いてみると良いでしょう。
補足
ご回答ありがとうございます。 T-Shell付属のftpにはプロキシの設定機能はありません。 rinkun様はT-EngineやT-Shellのことをご存知のようなのでもうひとつだけお願いします。 T-Shellに含まれるTCP/IPドライバを使用してプログラムを組めば、プロキシ経由のftpやhttp(簡易なもの)は作成可能なのでしょうか? 予定としては1ヶ月で作りたいのですが無謀なのでしょうか?
- mii-japan
- ベストアンサー率30% (874/2820)
その組込装置はLAN内では可能とのことですので、 ネットワーク設定で他サブネットへのアクセスを可能にする設定がなされていないためと思います デフォルトゲートウェイとDNSが設定出来れば可能です、 IPアドレス決め撃ちならば、DNSは使用しませんから、デフォルトゲートウェイ設定のみで(もしくは指定サブネットへのnexthopゲートウェイの設定)可能です (ただしゲートウェイ等で阻止する設定はなされていないこと)
お礼
ご回答ありがとうございます。 社内ということでrinkun様のいうとおり、プロキシにはばまれていたため、アクセスできなかったようです。 ネットワークについての知識が乏しいため、再び質問などをすることもあるかもしれませんが、またよろしくお願いします。
- rinkun
- ベストアンサー率44% (706/1571)
Webじゃなくてftpですか。 おそらく社内からインターネットに出るのにファイアウォールがあってプロキシ経由でないと外部アクセスできないと思いますが、違いますか? PCではftpサイトにアクセスできるとして、それはどのソフトでやっていますか。IEなどブラウザのftp機能を使っているなら一度コマンドラインのftpを使ってみてください。 PCのコマンドラインftpで出来るなら同様の手順でT-Shellでもアクセスできるかもしれません。 あと販売元のサポートに問い合わせるともう少し分かるかもしれませんが、基本的にはT-Shellのftpは簡易のものなのでプロキシ越えなどは対応していないかと思います。
補足
Webでもftpでもどちらでもよいのですが、できればWebのほうがよいです。 社内の話しながら詳しいことはわからないのですが、確かにファイアウォールがあり、プロキシ経由でアクセスしています。 pcでのftpサイトアクセスはFFFTPを使用しております。 このツールでもファイアウォールにチェックをつけてます。 PCのコマンドラインからはやってみましたができませんでした。 T-Shellのftpが簡易なものなのでプロキシ越えができないということは、ftpをもう少し作り直せば、可能なのでしょうか? やりたいことをもう一度整理しますと、T-Engineからインターネット上のWebサーバにアクセスして情報のやりとりを行いたいのです。できればhttpによりやりとりを行いたいのですが、ftpでもファイルを使用してやりとりできればかまいません。 実際にhttpなどを実装するのは大変なのか、よくわかってないのですが、TCP/IPのドライバが使用できるので、何かしらのプロトコルを実装し、WEB上のサーバとやりとりが行いたいです。
お礼
たいへんご丁寧にご回答くださいまして誠にありがとうございました。 未熟者ではありますが、実装を試みてみます。 また、質問などをすることがあるかもしれませんがそのときはまたよろしくお願いします。