1

您好:这是关于 Datasnap XE2 Tcp 传输的一个重要问题

我有一个老问题,我之前在这里问过,但没有回复

DataSnap XE2,与同一客户端中的第二个连接断开连接:

简单的 Datasnap 服务器,简单的客户端,(只需调用反向方法),几秒钟后服务器销毁一个或所有 servermethods 类,datasnapserver 是 tcp 协议,生命周期 = 会话,有状态的服务器。

我在另一台机器和另一个操作系统上测试相同的二进制 exe,我注意到这些:

1-在通过 WiFi(带/不带 dhcp)连接到路由器的计算机上运行服务器时出现同样的问题,所有操作系统(server2003、Win7、Winxp)都会出现同样的问题

2-在虚拟机(所有操作系统)上运行同一服务器时完全没有问题,我使用 Oracle Virtual Box,为什么!

3-在服务器实现中,我将 TCP 传输更改为 http 传输,那么我完全没有问题

4-我测试并尝试了所有可能的事情(网络配置,重新格式化,新鲜操作系统-所有Windows版本-)tcp服务器传输问题仍然存在

5-在两个连接中多次调用客户端方法后(20 秒 -2 分钟)后发生。

6-我制作并测试了新的 tcp 服务器(不是 datasnap)并且工作正常,但是 DataSnapXE2 TCP 服务器出现了这个问题

有什么事情要做吗,我只需要知道为什么,我需要期望来测试,我尝试了几乎所有可能的事情

我使用 C++Builder XE2 ,没有更新,所有可用的更新都没有关于这个问题我也在 Delphi XE2 中重建,smae 问题

有没有大神知道原因的,求指教,求回复

注意:DataSnap 2010,相同的代码,工作正常!!

感谢您提前回复

4

1 回答 1

2

XE2 中的客户端数据集确实存在一些问题,所有以下问题:

  1. Socket Server (scktsrvr) 由于来自 .data 或 olevariant 的数据过多而终止。

  2. XE2 中无缘无故的灾难性故障。相同的代码在 D2010 中有效,在 XE2 中根本无效

  3. 您将无法将现有的 DATASNAP 从 D2010 或 XE 移动到 XE2。即使您从头开始完全重写,您也会遇到问题。

新 Datasnap 或旧 Datasnap 在移动或等到 XE2 中的错误解决之前最好三思而后行。

于 2012-05-17T15:50:00.213 回答