【问题标题】:DataSnap XE2 , Disconnecting with second connection in the same clientDataSnap XE2,与同一客户端中的第二个连接断开连接
【发布时间】:2012-04-14 22:24:13
【问题描述】:

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

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

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

简单的Datasnap服务器,简单的客户端,(只调用reverse方法),几秒钟后服务器销毁一个或所有的servermethods类,datasnapserver是tcp协议,lifecycle=Session,有状态的服务器。

我在另一台机器和另一个操作系统上测试了相同的二进制 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,相同的代码,工作正常!!

感谢您提前回复

【问题讨论】:

    标签: delphi delphi-xe2 datasnap c++builder-xe2


    【解决方案1】:

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

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

    2. XE2 中无缘无故的灾难性故障。相同的代码在 D2010 中工作根本不起作用 在 XE2 中

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

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

    【讨论】:

    • 是否有此错误的 QC 报告?我们正在考虑从 XE 迁移到 XE3,所以我想跟进这个问题。
    猜你喜欢
    • 2013-10-20
    • 1970-01-01
    • 2017-07-17
    • 2010-11-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    相关资源
    最近更新 更多