2009-09-12 6 views
5

私はUNIXを通信するためのC#アプリはアプリ

  1. Webサービスまたは石鹸
  2. ソケット
  3. データベーステーブル
  4. 共有ファイルの
を考えることができる方法C++のための最善の方法は何ですか

webserviceについてご存じの簡潔な例はありますか?

+0

ORMの評価のこの日、私は統合メカニズムとしてのデータベースはしばしば見落とされていると思います。 –

答えて

4

WebサービスまたはSOAPは、C++アプリケーションが自然にWebサーバー(またはC#アプリケーション)でない場合、ソケットプログラミングを直接使用する方が簡単です。

ソケットは、C#とC++の両方から使いやすいです。これらは、送信された日付のタイプを完全に制御します。処理の中で潜在的にもう少し作業が必要です。

注目すべき最大の問題はおそらく、バイナリデータのエンディアンと、ソケットを直接使用する場合のテキストデータのエンコードです。それ以外の場合は、非常に簡単です。

1

ソケットが最も簡単です。私はまずそれを最初にやるだろう。データベースがオプションであれば、それも簡単ですが、それは本当に依存します。キューイングされたイベントの場合は意味がありますが、リクエスト/レスポンスの場合はおそらくそれほど大きくありません。

1

gsoapを使用すると、C/C++プログラムでWebサービスを使用できます。

また、C++で書かれたcgiプログラムを呼び出すこともできます。

私はC#クライアントと通信するサーバーを作成しました。エンディアンは処理するのが苦痛かもしれません.Webservicesは非常に簡単です。

1

tcp(他の多くの人が指摘しているように)など、互いに通信したいのですか?また、C#からC++にオブジェクトを翻訳したいのですか?もしそうなら、Apache Thrift(http://incubator.apache.org/thrift/)をチェックしてください。

3

すでにWebサービスとソケットのアプローチについて知っているので、いくつかのオプションについて説明します。シンプルさが好きなら、XML-RPCをチェックしてください。これは、大規模な標準委員会と企業の利益が仕様を制御する前に、SOAPが何をしていたかです。 XML-RPCの実装は、ほぼすべての主要プログラミング言語に対応しています。 Hessianは、多くのファンと多くの主要言語をサポートしている面白いバイナリプロトコルです。 Protocol BuffersはGoogle内で人気があります。 Googleの正式版はC#をサポートしていません。しかし、SOの最も高い2人のユーザは.Net空間にprotobufのポートを提供しています。

私はおそらくこれについて嘲笑されるだけでなく、CORBAを見てください。最近流行しているわけではありませんが、特にコミュニケーションの一端がC++である場合、多くの実質的な技術的信用があります。 IMHO、OOサポート付きで、角かっこは必要ありません。 interopについては、まだテーブルに座っていなければならないと思います。 C++開発に従事したとき、私はOmniOrbが非常に効果的かつ効率的であることを発見しました。このSO Questionを見て、.NETでCORBAを使用する際のいくつかの指針を見てください。

関連する問題