c++のネットワークプログラミングについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
教えてboy

c++のネットワークプログラミングについて

#1

投稿記事 by 教えてboy » 7年前

いくつかc++でのネットワークについて質問があります。

1.今までセキュリティの知識がないので外部との通信をするプログラムを作成するのが怖くて避けてきたのですがそろそろやってみようと思っています。
 そこでネットワークプログラミング初心者が安全に通信を行う方法またはセキュリティについてそこまで心配する必要はないのか。

2.webアプリケーションを作成するとしてc++と相性のいいプログラミング言語は何でしょうか。
HTMLとCSSとJSは必須だと思うので除外しておくとして。
 相性が良いというのはc++のパワーを生かしたいのでその連携がしやすいとかです。
 まだどのようなものを作成するのかは決まっていないので大体でこれが良いというものをお願いします。

3.c++ & 相性の良いプログラミング言語を使える無料or安いレンタルサーバーはあるのか。ざっと見たところphpが置けるぐらいのしか見つかりませんでした。
 実際に使用できない技術を勉強するのは辛いので実際に運用したいのですが自前サーバーは持っていないのでレンタルを探しています。

白い変人

Re: c++のネットワークプログラミングについて

#2

投稿記事 by 白い変人 » 7年前

>1について

ネットワークプログラミング初心者とか、セキュリティについての不安があるのなら、wininetでも使って、外部のwebページを読み込むプログラムを作る程度から始めれば良いでしょう。

相手のwebページを見る事と本質的なセキュリティリスクは変わらないので、そうしたところから始めれば宜しいのではないかと。

wininetとは言え、上手く悪用すればDOS攻撃を行うプログラムにも成り得るので、ハッカー気分を味わえるかもしれません。

とは言え、犯罪を助長する気は無いですが、初めてネットワークプログラミングを特定の目的を果たす動作する形で行えた経験があると、その後の向学心も変わって来るでしょう。

そこで面白さを感じたら、winsock等も是非やってみるべきでしょう。

>2について

どの様な技術者も内心感じている事なのかもしれませんが、WEBアプリ開発をしていると、水と油を混ぜようとしている様な感覚に苛まれるかもしれません。

そういう意味では、C++と相性が良い物と言われても、「無いでしょう」「無いけど強引に実装できてこそ本物でしょう」等と言われそうな事案なのかもしれません。

ただ、私なら「どうしてもC++をWEBアプリに活躍させたいのなら、Javaでは?」とは言っておきます。

>3について

もし、それをレンタルサーバを提供している会社に問い合わせするアクションすら起こしていないのなら、質問者様がそれを考えるのは早すぎる事だと考えるべきでしょう。

まず、目の前にある課題を解決出来るスキルを身に付けるのが先であり、そのスキルを身に付け終わるのが1年後なのかも3年後なのかも5年後なのかも分からない訳です。

その頃、レンタルサーバを提供している会社がどうなっているかなんていう事を今から考えても仕方ない話だろうし、仮にウィザード級のハッカーに訊いたところで「未来の事は知らないから、契約したい時に探してみては?」と言われて終わりでしょう。

学習過程に於けるサーバ上での動作確認は、ローカルの環境でやれば利用料もかかりませんし、それで宜しいかと思いますが。

教えてboy

Re: c++のネットワークプログラミングについて

#3

投稿記事 by 教えてboy » 7年前

白い恋人さん

1の回答について
なるほどwebページの取得ならサーバーを用意しなくてもよいので大分安全そうです。

wininetというのは初めて見ました。
msdnのサイトを見たところ簡単なファイルのやり取りが出来るようです。
wgetのようなプログラムが作成できそうです。

winsockについては以前触れたことがあります。
その時は簡単なサーバープログラムを作成したのですが実行するのは怖かったのでやめました。
ですがクライアントプログラムなら安全そうなのでやってみたいと思います。

2の回答について
プログラミング言語を組み合わせるのも腕がいるということですね。
c++とjavaとなりますとかなりヘヴィーになりそうです。
遅いという意味ではなく難易度の意味で。

3の回答について
そうですね気が早すぎました。
webというとサーバーを使うというイメージが強いのでそれが前提のように感じていたのかもしれません。
ローカルでやればセキュリティの心配も少ないのでそうしようと思います。


結論
まずはクライアントソフトを作成することにします。
サーバーソフトはローカルでテストのみにしたいと思います。
十分なセキュリティの知識がついたら実際に公開できたらと思います。

白い変人さん 回答ありがとうございました。

返信

“C言語何でも質問掲示板” へ戻る