1

こんにちは : これは Datasnap XE2 Tcp トランスポートに関する重要な問題です

古い問題があります。以前ここで問い合わせましたが、返信がありません

DataSnap XE2 、同じクライアントの 2 番目の接続で切断:

単純な Datasnap サーバー、単純なクライアント (リバース メソッドを呼び出すだけ)、数秒後、サーバーは 1 つまたはすべてのサーバー メソッド クラスを破棄します。datasnapserver は tcp プロトコル、lifecycle=Session、ステートフル サーバーです。

別のマシンと別の OS で同じバイナリ exe をテストしたところ、次のことがわかりました。

1-ルーターにリンクされたコンピューターでサーバーを実行しているときに同じ問題が発生し、一部のWiFi(dhcpあり/なし)すべてのOS(server2003、Win7、Winxp)で同じ問題が発生しました

2-仮想マシン(すべてのOS)で同じサーバーを実行している場合、まったく問題ありません。私はOracle Virtual Boxを使用しています

3-サーバーの実装で、TCPトランスポートをhttpトランスポートに変更すると、まったく問題ありません!.

4-可能な限りすべてをテストして試します(ネットワーク構成、再フォーマット、フレッシュOS-すべてのWindowsバージョン-)tcpサーバートランスポートの問題はまだあります

5-両方の接続でクライアントメソッドを数回呼び出した後(20秒-2分)後に発生します。

6- 新しい TCP サーバー (datasnap ではない) を作成してテストし、正常に動作しましたが、DataSnapXE2 TCP サーバーでその問題が発生しました

何か する こと は あり ます か , 私 は 理由 を 知る 必要 が あり ます .

私はC++Builder XE2を使用していますが、更新はありません。利用可能なすべての更新には、この問題について何もありません。Delphi XE2で再構築します。

理由を知っている人はいますか、良いアドバイス、返信してください

注: DataSnap 2010、同じコード、正常に動作します!!

早々にお返事ありがとうございます

4

1 に答える 1

2

XE2 の clientdataset には本当に問題があり、すべて次の問題があります。

  1. ソケット サーバー (scktsrvr) は、.data またはオレバリアントからのデータが多すぎるために終了しました。

  2. XE2 での理由のない壊滅的な障害。同じコードが D2010 で機能しても、XE2 では機能しません。

  3. 既存の DATASNAP を D2010 または XE から XE2 に移行することはできません。ゼロから完全に書き直したとしても、問題が発生します。

New Datasnap または Old Datasnap は、移動する前によく考えるか、XE2 のバグが解決されるまで待つことをお勧めします。

于 2012-05-17T15:50:00.213 に答える