2009-06-16 15 views
1

サーバークライアントアプリケーションで不安定なインターネット接続を管理するためにどのような技術を使用できますか。私は主にPHP(+ Zend Framework)を学び、C#& ASP.NET MVCを学んでいます。私はWCF/MSMQが助けてくれるものだと聞きましたが...どうして...何かPHPがありますか?しかし、それは背景サーバークライアントアプリケーションでハンドルが不安定なインターネット接続

その優れた場合、.NETの選択肢を知っておくのも良いです:

クライアント***の*** CRUDsを行うには、サーバーのDBに接続します。インターネットに接続できない場合、これは不可能です。私はこれをどのように修正するのですか?

現在使用されているソリューションにはlocalhost dbがあります。その日の終わりに、すべてのクライアントがサーバーにアップロードされ、朝はサーバーから「統合」dbをダウンロードします。アップロード/ダウンロードがまだ失敗する可能性があるので、これは絶対確実ではありません。大量のデータを転送することを考慮すると、実際にはチャンスが増えます。

更新:MSMQ/WCFの代わりにPHP/Zend Framework/MySQLがありますか?

答えて

1

信頼できるメッセージ転送のためのさまざまなテクノロジをサポートしているため、WCFは役に立ちます。

クライアントのデータ変更をローカルに行い、その変更を信頼性の高いメッセージキューにアップロードするのに役立つものが1つあります。すべての変更を1つのトランザクションにアップロードするわけではありません。一度に1つずつ、おそらく1つずつアップロードすることができます。アップロードされたメッセージがサーバー上で処理されると、サーバーはトランザクション結果を各クライアントに固有の別のキューに書き込みます。アップロード後(または多分同時に)、クライアントはその待ち行列をチェックして各アップロードの結果が何かを確認します。結果が成功した場合、クライアントはローカルデータベースを削除できます。結果が失敗の場合、クライアントは再度アップロードを試みる必要があります。

もちろん、エラーリカバリを試みても状況が悪化しないように注意する必要があります。悪いリンクでトラフィックを再試行すると、トラフィックが復旧するなどの理由で、トラフィックが発生する可能性があります。

さらに究極の解決策は、信頼性の高いリンクに移動することです。必ずしも速いわけではありませんが、より信頼性があります。

+0

このようなことをどのように処理するのかについて、xplainationに感謝します。 abtは信頼できるラインを動かすことは私にとっては良い解決策ですが、ビジネスpplのように思えることもあります。 – iceangel89

+0

はい。 "そこに行って、やった"。この機会にネットワーク品質に関する正確な統計を収集することを検討してください。再試行の回数(および再試行に要した時間)は、状況が非常に遅い理由を知っている管理者にとって非常に興味深い統計です。 –

+0

ええと...それは...どこから始めればいいの?私はabitを失っています... msdnの読み込みは永遠に... WCFは大きな問題ですが、その問題を解決するには? MSMQはありますか? – iceangel89