現在、WCFを使用してプロジェクトをネットワーク化しています。しかし、私はいくつかのネットワークライブラリLidgren Networkに切り替えたいと思っています。WCFからネットワークライブラリへの切り替え
WCFなので、インターフェイスを使用して、&のデータを1つの方法で送信できます.Lidgren Networkは、パケットをビルドして送信する必要がありますが、問題はありません。
問題は、私にはWCFのように1つの方法で送受信できる方法がないことです。
はのは、私はWCFといくつかのクライアントコードを得たとしましょう:
void SomeCode()
{
var status = wcfChannel.CheckUserId(id);
if (status)
{
// true
// do something
}
else
{
// false
// do something
}
}
そしてlidgrenネットワークとは、次のようになります。
だから、void SomeCode()
{
var packet = new packet(...);
packet.Write(id);
var status = send2Server(packet);
if (status)
{
// true
// do something
}
else
{
// false
// do something
}
}
、 'send2Serverは' 何とか実施されるべきであるということ。それはループでパケットのみ(?)を受け取ることができるので、私は考えがありません。 まあ、私はSomeCodeのクラスでいくつかの変数を持つことができ、パケット受信時のクライアントネットワーク受信ループはSomeCodeのクラスでこれらの変数を変更します。また、遅延を追加し、これらの変数を使用してさらに使用する必要があります。 しかし、これを実装するより良い方法があるはずです。
より良い方法は、通常、SOAP(WCF)、REST(ウェブAPI/'HttpClient')またはいくつかの他のプロトコルとライブラリを伴うされていること。なぜあなたはWCFを避けたいのですか? – Mitch
主にWCFがMonoで動作しないためです。 – slicy
ほとんどのWCFはMonoでサポートされています。http://www.mono-project.com/docs/web/wcf/ – Mitch