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

时间:2012-04-14 22:24:14

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

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

我有一个老问题,我在此之前要求它,但没有回复

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

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

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

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中重建了这个问题

有人知道为什么,好的建议,请回复

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

感谢您先进的回复

1 个答案:

答案 0 :(得分:2)

XE2中的clientdataset确实存在一些问题,其中存在以下问题:

  1. 套接字服务器(scktsrvr)由于来自.data或olevariant的数据过多而终止。

  2. XE2中没有任何理由的灾难性失败。在D2010中使用相同的代码根本不起作用 在XE2

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

  4. 新的Datasnap或Old Datasnap在移动之前更好地三思而后行,或等到XE2中的错误得到解决。