クロスプラットフォームでのネットワークプログラミングを学ぼうと思ったのですが
少し迷っています
ネットワークプログラミングの経験は友達とLinux上で動作する
チャット用プログラムを開発したときのチャット部分の担当をした程度です(友人はGUI担当)
(オンラインゲームで使用される様な1:1会話やチャットルームなど)
開発する言語はC言語では無理なのではと思い、C++で行こうと思っています
インターネットで検索してみたところ
The ADAPTIVE Communication Environment(通称:ACE)と
Boost C++ Librariesというものがあることを知りました
あるいはQtなんて選択肢も...
どれがいいのか、あるいは他にいいものがあるのかすら今の自分のレベルではわかりません
そこでお聞きしたいのですがクロスプラットフォームで開発する場合
上に挙げたものではどれがいいのでしょうか
また他にあるのなら教えていただけないでしょうか
素直にJAVAを使え、と言われそうな質問ですが
できるだけハードウェア性能を犠牲にしないようにと考えています
どのような事をしたいか、などはまだ決まっておらず
今はただネットワークプログラミングをしてみたい、と思い相談させていただきました
そんなことでは助言しづらい、と言われるかもしれませんが
できれば理由と勉強できるような書籍などを教えていただけると嬉しいです
また今回はGUI部分はOpenGLを使おうと思っています
長文失礼しました
クロスプラットフォームのネットワーク
Re:クロスプラットフォームのネットワーク
> 438番さん
こんにちは。
あまり詳しくないですが、レスが付かないようなので(^^;
Boostは私も人に勧められて手を出していますが便利ですよね。
マルチプラットフォームで動作するというだけでなく、様々な便利な機能が使えて良いライブラリだと思います。
普段Linuxやwindowsでプログラムを組むので、マルチプラットフォームは良く意識します。
ただ私は自前で必要な関数だけラップしたライブラリを作って使っていて、あまり既存の物に手を出していないので、どの辺のライブラリが良いかはよく知りません。
質問文を拝見する限り、特にまだこれといって対象が決まっているわけではないようですので、
自分でマルチプラットフォームで動くライブラリを作ってみてはいかがでしょう?
勉強の為にという事であれば、これも良いことだと思いますよ。
こんにちは。
あまり詳しくないですが、レスが付かないようなので(^^;
Boostは私も人に勧められて手を出していますが便利ですよね。
マルチプラットフォームで動作するというだけでなく、様々な便利な機能が使えて良いライブラリだと思います。
普段Linuxやwindowsでプログラムを組むので、マルチプラットフォームは良く意識します。
ただ私は自前で必要な関数だけラップしたライブラリを作って使っていて、あまり既存の物に手を出していないので、どの辺のライブラリが良いかはよく知りません。
質問文を拝見する限り、特にまだこれといって対象が決まっているわけではないようですので、
自分でマルチプラットフォームで動くライブラリを作ってみてはいかがでしょう?
勉強の為にという事であれば、これも良いことだと思いますよ。
Re:クロスプラットフォームのネットワーク
私も見逃していました。
とりあえず、GUIのツールキットと、ネットワークプログラミングのラッパーと、ライブラリがごっちゃになっているので整理しましょう。
・The ADAPTIVE Communication Environment(通称:ACE)と
これは私も知りませんでした。
http://www.geocities.jp/kagaruby/ace.html
がっつりオブジェクト指向ですね。
通信系はラッパーしているみたいですが、GUI系はないかな?
どうやらサービス系のアプリ開発用だと思います。
・Boost C++ Librariesというものがあることを知りました
通信ともGUIとも関係ないですね。C++のライブラリです。
・あるいはQtなんて選択肢も...
QtはクロスプラットフォームなGUIツールキット(ウィジットツールキット)です。
http://ja.wikipedia.org/wiki/%E3%82%A6% ... 3%E3%83%88
通信系もラップしているみたいなので、これが良いかも知れませんね。
>また今回はGUI部分はOpenGLを使おうと思っています
QtのGUIはダメなんでしょうか?
とりあえず、GUIのツールキットと、ネットワークプログラミングのラッパーと、ライブラリがごっちゃになっているので整理しましょう。
・The ADAPTIVE Communication Environment(通称:ACE)と
これは私も知りませんでした。
http://www.geocities.jp/kagaruby/ace.html
がっつりオブジェクト指向ですね。
通信系はラッパーしているみたいですが、GUI系はないかな?
どうやらサービス系のアプリ開発用だと思います。
・Boost C++ Librariesというものがあることを知りました
通信ともGUIとも関係ないですね。C++のライブラリです。
・あるいはQtなんて選択肢も...
QtはクロスプラットフォームなGUIツールキット(ウィジットツールキット)です。
http://ja.wikipedia.org/wiki/%E3%82%A6% ... 3%E3%83%88
通信系もラップしているみたいなので、これが良いかも知れませんね。
>また今回はGUI部分はOpenGLを使おうと思っています
QtのGUIはダメなんでしょうか?
Re:クロスプラットフォームのネットワーク
返信ありがとうございます
>どうやらサービス系のアプリ開発用だと思います。
>これは私も知りませんでした。
自分も調べるまで知りませんでした
オブジェクト指向で通信系も使えて...
便利そうに見えるのですが、知名度が低いということは少々難ありな気がします
>通信ともGUIとも関係ないですね。C++のライブラリです。
確かboost::asioでsocketなどのネットワーク周りをコーディング出来たはず
使うならGUIはOpenGLと組み合わせてみようと思っていました
>QtのGUIはダメなんでしょうか?
そういえばQtならGUIも出来るんですね
ネットワークの部分しか考えてなかったのでそこまで考えていませんでした
GUIはクロスプラットフォームということでただ単にOpenGLを使おうと思っていただけです
Qtならこれだけでアプリケーション作成は十分そうですね
>自分でマルチプラットフォームで動くライブラリを作ってみてはいかがでしょう?
>勉強の為にという事であれば、これも良いことだと思いますよ。
自分でライブラリの作成というのは思いつきませんでした
そういう選択肢もあるのですね
>どうやらサービス系のアプリ開発用だと思います。
>これは私も知りませんでした。
自分も調べるまで知りませんでした
オブジェクト指向で通信系も使えて...
便利そうに見えるのですが、知名度が低いということは少々難ありな気がします
>通信ともGUIとも関係ないですね。C++のライブラリです。
確かboost::asioでsocketなどのネットワーク周りをコーディング出来たはず
使うならGUIはOpenGLと組み合わせてみようと思っていました
>QtのGUIはダメなんでしょうか?
そういえばQtならGUIも出来るんですね
ネットワークの部分しか考えてなかったのでそこまで考えていませんでした
GUIはクロスプラットフォームということでただ単にOpenGLを使おうと思っていただけです
Qtならこれだけでアプリケーション作成は十分そうですね
>自分でマルチプラットフォームで動くライブラリを作ってみてはいかがでしょう?
>勉強の為にという事であれば、これも良いことだと思いますよ。
自分でライブラリの作成というのは思いつきませんでした
そういう選択肢もあるのですね
Re:クロスプラットフォームのネットワーク
boost::asioがありましたね(汗)。
うまくラッパーできているかは試験してみないと分かりませんので、boostとQtで望む動作が作れるか試されてはどうでしょうか?ネットワークプログラミングでやりたい事が実装出来ているか分かりませんので。
The ADAPTIVE Communication Environment(通称:ACE)は、便利そうなのにあまり使われていないのが気になります。
それと別のACEが引っかかりすぎて検索性が悪いのも困りものですね。
うまくラッパーできているかは試験してみないと分かりませんので、boostとQtで望む動作が作れるか試されてはどうでしょうか?ネットワークプログラミングでやりたい事が実装出来ているか分かりませんので。
The ADAPTIVE Communication Environment(通称:ACE)は、便利そうなのにあまり使われていないのが気になります。
それと別のACEが引っかかりすぎて検索性が悪いのも困りものですね。

Re:クロスプラットフォームのネットワーク
グーグルで"ACE"と検索してプログラム関係が一切出てこない時点でACEはやめることにしました
参考になるサイトや書籍が少なそうな事、知名度が低い事、検索しづらいのは致命的かと
結局QtとBoostを勉強することにします
参考になるサイトや書籍があることからとっつきやすいこと
(サイトはどちらも英語なので厳しいですが)
駄目でも基本C++なので何とかならなくても勉強として無駄にはならないだろう、というのも魅力です
大学の本屋にもネットワークについては
Linux、Winの各環境でのものとJAVAしか置いてなくとても迷っていました
(大学の講義で学んだものも基本Linuxのみで動くものでした)
>Dixq (管理人)さん
>softyaさん
色々とアドバイスありがとうございました
参考になるサイトや書籍が少なそうな事、知名度が低い事、検索しづらいのは致命的かと
結局QtとBoostを勉強することにします
参考になるサイトや書籍があることからとっつきやすいこと
(サイトはどちらも英語なので厳しいですが)
駄目でも基本C++なので何とかならなくても勉強として無駄にはならないだろう、というのも魅力です
大学の本屋にもネットワークについては
Linux、Winの各環境でのものとJAVAしか置いてなくとても迷っていました
(大学の講義で学んだものも基本Linuxのみで動くものでした)
>Dixq (管理人)さん
>softyaさん
色々とアドバイスありがとうございました
Re:クロスプラットフォームのネットワーク
> (サイトはどちらも英語なので厳しいですが)
そうですか?
プログラム勉強会で、
http://www.kmonos.net/alang/boost/
ここ使ってますけど解りやすいですよ。
(Boostでググッて一番上に来ます)
そうですか?
プログラム勉強会で、
http://www.kmonos.net/alang/boost/
ここ使ってますけど解りやすいですよ。
(Boostでググッて一番上に来ます)
Re:クロスプラットフォームのネットワーク
解決!マークをつけるのは少し早かったみたいです
>ここ使ってますけど解りやすいですよ。
Boostに日本語の解説サイトってあるんですね
まずこのサイトで勉強することにします
>ここ使ってますけど解りやすいですよ。
Boostに日本語の解説サイトってあるんですね
まずこのサイトで勉強することにします