2011-10-26 32 views
1

Linuxには外部とのソケット通信を行うC++ハードウェア制御ソフトウェアがあります.WCF経由でそのC++ソフトウェアにコマンドを送るためにC#アプリケーションをWindowsに追加していますNet.TCP)(.Net 3.5または4)。C#からWCF経由でC++にコマンドを送信する

定義されたコマンド/プロトコルには、ヘッダーとデータが含まれています。

char[]フィールドがプロトコル構造内にあります。

C#のcharは2バイトですが、このプロトコルで定義されているcharは1バイトcharです。

どのようにすれば対応できますか?既存のユーティリティライブラリは私のために変換を行うことができますか?

+0

'net.tcp'は2つの.NETプログラム間でのみ動作します。これはinteropバインディングではありません。 –

+0

このプロジェクトの誰かが、顧客のGUIがC#アプリケーションであるため、WCFを使用したいと考えています。このWCFは、顧客のGUIと既存の制御ソフトウェア(ソケット付きC++)のミドルウェアです。私は間違ったプロトコルを選ぶかもしれないので、WCFを学んでいますか? – 5YrsLaterDBA

+0

単純なソケットに変換する標準のWCFプロトコルはありません。ただし、作成することはできます。しかし、ソケットを行う必要がある場合は、.NETソケットクラスを守る方がよいかもしれません。 –

答えて

2

WCFのソケットは予測できず、クロスプラットフォームではないため、.NETのプレーンソケットを使用するほうがずっと簡単です。 C#の文字列をC++のバッファに変換するにはEncoding.ASCII.GetBytes(string)

+1

ターゲットコントローラが非Intelの場合は、big/littleエンディアンの問題も注意してください –

関連する問題