如何将 DataSnap 客户端连接定向到各种 DS Server?

2023-12-30

我有一个相当大的 DataSnap 服务器,它将 24/7 运行,它将替代当前运行的 MIDAS (COM) 服务器。现在我面临的问题是如何更新该服务器而不必强制断开所有连接的客户端。

使用当前的 midas 服务器(顺便说一下,没有大量的流量可供服务),我只需等到没有连接,然后关闭服务器应用程序并替换 exe 文件。如果在服务器“关闭”时发生新连接(作为 COM 对象),它将被操作系统“拉起”,不会给客户端带来任何问题。

新的 DataSnap 架构不再基于 COM(太棒了!),但这样我就失去了停止服务器而不导致新连接失败的机会。

我认为某种 TCP“代理”或“隧道”可以解决我的问题,因此我可以简单地将新的服务器 exe 放在某处,并让该“代理”将客户端连接重定向到新的 DS 服务器。我尝试过 TIdMappedPortTCP,但它在服务器-客户端对话框的随机点处持续挂起。

有任何想法吗?

编辑:出于效率原因,我在纯 TCP/IP 传输上使用 DataSnap,因此 http 代理不适合我的具体情况。


也许您应该看看相当于命名服务的东西?可以像 Datasnap 服务器一样简单,您可以在该服务器上进行方法调用并返回“主”服务器的 IP 地址。然后,当您想要删除服务器进行维护时,您可以更改命名服务器分发的 IP 地址,这样新的客户端就会路由到它。当您的主服务器备份后,您可以将 IP 更改回来。

您仍然遇到引导程序问题(即,它们如何找到命名服务器的 IP),但这可以很简单,只需在客户端的配置文件中包含几个 IP 地址,如果第一个失败,则返回到第二。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 DataSnap 客户端连接定向到各种 DS Server? 的相关文章

  • 可以在delphi数据集中创建一个假数据字段吗?

    我想在 DataSet 不是 ClientDataSet 中创建一个 假 数据字段 该字段不应存储在数据库中 它不是计算字段 应允许用户输入输入数据 该字段具有业务逻辑含义 因此用户更新其值后应该更新其他字段 使用 OnFieldChang
  • 如何将接口类型传递给过程

    如何将接口类型传递给过程参数 type Hello PortType interface ISoapInvokable 243CBD89 8766 F19D 38DF 427D7A02EAEE function GetDeneme s st
  • 线程关闭期间 Win64 Delphi RTL 中的内存泄漏?

    很长一段时间以来 我注意到我的服务器应用程序的 Win64 版本存在内存泄漏问题 虽然 Win32 版本工作正常 内存占用相对稳定 但 64 位版本使用的内存却定期增加 可能 20Mb 天 没有任何明显的原因 不用说 FastMM4 没有报
  • Firemonkey - 更新视觉组件

    我们从版本 1 开始就使用 Firemonkey 但仍然发现更新当前在屏幕上可见的组件很困难 在 Firemonkey 中请求重画的 方式 有很多 也许太多了 应用样式 ApplyStyle 事件 主要是当它在屏幕上可见时 请求 repai
  • delphi中生成随机数

    我想在delphi中创建一个随机数并将其分配给文件作为文件名 我设法做到了这一点 但是当我单击按钮生成数字时 它总是以 0 开头 知道如何修复它 procedure TForm1 Button1Click Sender TObject va
  • TControlState.csDesignerHide 与 TControlStyle.csNoDesignVisible

    VCL 似乎提供了两种向表单设计者隐藏控件的机制 TControlState csDesignerHide and TControlStyle csNoDesignVisible 就 IDE 而言 它们之间有什么区别 什么时候应该使用哪个
  • FreeMM 与 ShareMem

    我们有很多用 delphi 和 c builder 编写的 dll 库 并使用 sharemem 和 borlndmm dll 3d party 库中的对齐问题迫使我们转向 delphi 2007 中的新内存管理器 有人可以帮我解释一下 共
  • 在 Outlook 中创建带有附件的邮件并显示它

    我想在 Outlook 中创建一封带有附件的邮件并在发送之前显示它 但我想我已经尝试了几乎在网上找到的所有示例 但没有任何运气 我可以使用 Indy 但我非常想使用 Outlook 来确保邮件正确 因为它是用于商业用途 函数的任何输入 该函
  • 为应用程序启用主题

    我有一个旧的应用程序 在Win XP中的delphi 7中启动 现在我正在使用delphi 2009 win Vista 如果我开始一个新项目 所有按钮都有一个圆形边缘 但在我的旧应用程序中 所有按钮都有 方形 形状的外观 有什么设置我错过
  • 如何使用用户输入来寻址 Pascal 中的特定变量(Eval/Exec?)

    我正在尝试在分形程序中做一些非常具体的事情隆起7X http apophysis 7x org 使用的脚本语言是Pascal 该项目是用德尔福写的 https svn code sf net p apophysis7x svn trunk
  • 使用 StretchDIBits 使用 Delphi 6 处理条形码图像 - 输出中缺少条形线

    我的应用程序是在 Delphi 6 中开发的 由于后台处理和大量数据 它消耗大约 60MB 120MB 物理内存 这是一个资源密集型应用程序 该应用程序的功能之一是在进行某些处理后创建条形码图像 如果用户继续生成条形码 那么至少十分之一的条
  • Delphi - 相当于C#的三元运算符? [复制]

    这个问题在这里已经有答案了 可能的重复 Delphi 中是否存在或者将来是否存在条件运算符 https stackoverflow com questions 2108609 is there or is there ever going
  • Delphi XE 中的数据绑定向导 - 可以将其配置为映射到 MSXML 接口吗?

    Delphi XE 中的数据绑定向导生成继承自 Delphi 自己的 DOM ADOM XML v4 实现的类和接口 它似乎不支持针对模式进行验证 解析时验证 选项仅适用于 MSXML 供应商type 从 VCL 源代码以及 IDE 中 X
  • 如何向标准集合编辑器添加图标?

    我有一个自定义控件 它利用TCollection and TCollectionItem 在集合编辑器中 我想向每个列表项添加图标 该列表项由内部TImageList 在其父组件内 集合项本身代表图标 我想在这个编辑器中显示相应的图标 如何
  • DELPHI 和 WANT 或 NANT

    We use 巡航控制 net http confluence public thoughtworks org display CCNET Welcome to CruiseControl NET在 Delphi 2006 应用程序中进行持
  • 从 Delphi 调用 C# dll

    我用单一方法编写了 Net 3 5 dll 由Delphi exe调用 不幸的是它不起作用 步骤 1 使用以下代码创建 C 3 5 dll public class MyDllClass public static int MyDllMet
  • 查找Delphi项目中的所有编译错误

    我正在对我的 Delphi 项目进行一些重构 我希望能够做出改变 然后看看all项目中因该更改而中断的地方 类似于 Eclipse 列出项目的所有编译错误 在 Java 中 在 Delphi 中 我可以进行更改 然后重新编译我的项目 但编译
  • 如何从 Delphi 中的函数返回对象而不导致访问冲突?

    我有一个返回 TStringList 的 delphi 函数 但是当我返回一个值并尝试使用它时 我收到一个访问冲突错误 即 myStringList FuncStringList myStringList Items Count lt Th
  • 调试器异常错误和内存超调

    我尝试运行以下代码 但它显示有关内存地址的错误 并显示一条消息 循环后 n 可能未定义 请看一看 var n max integer n integer r R1 f h0 Array of Real const h 0 00889 nip
  • 使用项目中的波形文件

    我目前只能通过将波形文件放在已编译的 exe 旁边来播放背景声音 但我实际上想要一个包含波形文件的静态可执行文件 这在Delphi XE2中可能吗 这是我的代码 SndPlaySound Raw wav SND ASYNC or SND L

随机推荐

  • Microsoft SQL Server 分析服务 OLAP 多维数据集

    我试图找到一种工具来提高应用程序报告的性能 我听说了 OLAP Reporting Services 它被描述为完成这项工作的绝佳组合 无论如何 我没有找到使 OLAP 多维数据集保持最新的方法 因为原始数据库中的数据可能会更改 这是一个交
  • 为什么代码终止时出现“未找到解决方案”错误和“退出:收敛到局部不可行点。问题可能不可行”?

    我似乎不明白为什么IPOPT无法找到解决方案 最初 我认为这个问题完全不可行 但是当我减少总列数至以下任意号码161000 or 注释掉最后一个约束方程其中包含总列数 它解决并退出Optimal Solution Found and a f
  • Matplotlib:如何再次显示绘图?

    假设我做了一个情节Ipython Notebook 在几个单元格之后 我想再次渲染它 这样我就可以将它与其他图进行比较 我该怎么做 a 1 2 3 4 b 3 4 5 6 fig plt plot a b color black 这将显示情
  • Twig 迭代对象属性

    我在 Twig 文档中读到 可以通过以下方式迭代关联数组 for key value in array key value endfor 我想知道这对于 stdClass 类型的对象是否也可能 我希望 Twig 能够以属性名称作为键来迭代对
  • 我可以在 ASP.NET 中使用 X509Certificate2 而不使用证书存储吗?

    我正在尝试在 Rackspace 云中的 ASP NET Web 服务中使用 X509Certificate 我有一种感觉 存储在云节点上的证书可能会引起问题 我也有一个与此相关的问题 但我收到的问题是使用 iPhone Apple 推送通
  • Twitter Bootstrap 模态宽度问题

    我的应用程序具有许多模式 所有模式都有不同的宽度 我知道您可以通过执行以下操作来设置模态内联的宽度 宽度 400 像素 左边距 200px 这效果很好 但是如果你压缩窗口 它会将模态占到屏幕的 50 所以你看不到一半的模态渲染 在这些小分辨
  • 如何将一个数据框按行拆分成多个数据框然后导出到excel?右

    这是我正在使用的数据 Sales lt data frame State c New York New Jersey Texas New Mexico California Kansas Florida Alaska Montana Mai
  • 如何在 JFrame 中启动命令行 Java 代码?

    我有一个通过基本命令行界面执行的Java 程序 我想知道是否将其放入窗口 JFrame 中 是否可以 我能怎么做 谢谢 如果你想在 jFrame 中使用命令行 我认为这不是一个好主意 如果JFrame启动了 说明程序已经启动了 您必须使用命
  • 设置javascript对象多级属性的简单方法?

    我正在尝试创建一个像这样的javascript对象 var allUserExpiry allUserExpiry aData userId aData courseId aData uscId aData 但我收到了类似的错误allUse
  • 如何根据字段描述的对象类型根据 JSON 模式验证 JSON 对象?

    我有许多对象 消息 需要根据 JSON 模式 draft 04 进行验证 每个对象都保证有一个 type 字段 用于描述其类型 但每种类型都有一组完全不同的其他字段 因此每种类型的对象都需要一个唯一的模式 我看到了几种可能性 但没有一种特别
  • 使用 ASP.NET MVC 3 的 NHibernate 会话 + 事务

    我目前正在编写一个新应用程序 尽管公司标准是使用 NHibernate 因为这是所有项目的标准 但我正在使用 ASP NET MVC 3 因为它现在已经成熟 我已经在控制器中实现了我的事务 这应该是你应该这样做的方式 所以它在我的根控制器中
  • 如何在android中以编程方式将图像添加到图库或以编程方式刷新图库

    我正在将一些图像从服务器下载到 SD 卡的文件夹中 图像已成功存储到 SD 卡中 但问题是 同时图像没有显示在图库中 如果我重新启动设备 它将显示在图库中 如何以编程方式刷新图库 以便每当我从服务器获取图像时都可以同时看到图像 我明白了 下
  • MySQL 持久连接

    我有10个应用服务器和1个mysql数据库 我想为 mysql 做连接池 但简单地启用 mysql pconnect 是行不通的 因为它会导致某些服务器比其他服务器拥有更多的连接 这种情况的最佳解决方案是什么 为什么要使用持久连接 它们可能
  • 如何从 DTD 或 XSD 生成示例 XML 文档?

    我们正在开发一个涉及大量 XML 转换的应用程序 我们本身没有任何正确的输入测试数据 只有 DTD 或 XSD 文件 我们想从这些文件中生成我们的测试数据 有没有一种简单 免费的方法可以做到这一点 Edit 显然没有免费的工具可以做到这一点
  • imagecreatefrompng 错误

  • warning(junit.framework.TestSuite$1): 通过 Maven 执行 Android Test 时构造函数中出现异常

    我通过 Maven 设置了一个 Android 测试项目 并按照以下说明进行操作here http code google com p maven android plugin wiki AutomateAndroidTestProject
  • 如何解析代码以构建 Java 编译器?

    我需要写一个编译器 这是大学的家庭作业 老师告诉我们 我们可以使用任何我们想要的API来进行代码的解析 只要它是好的 这样我们就可以更加关注我们将生成的 JVM 所以是的 我将用 Java 编写一个编译器来生成 Java 你知道有什么好的A
  • 快速播放活动 UITableView 单元格中的视频

    目标 我正在尝试在完全可见的单元格 可能是 2 3 或 1 中播放视频 并且应该以不可见的方式停止cell 我在用UITableview with AVPlayer 我的桌面视图充满了视频列表 目前我正在使用捆绑包中的视频 我使用了下面的代
  • Sybase 令牌数据流长度不正确

    将二进制文件保存到图像列时出现以下错误 org springframework jdbc UncategorizedSQLException PreparedStatementCallback SQL 的未分类 SQLException 插
  • 如何将 DataSnap 客户端连接定向到各种 DS Server?

    我有一个相当大的 DataSnap 服务器 它将 24 7 运行 它将替代当前运行的 MIDAS COM 服务器 现在我面临的问题是如何更新该服务器而不必强制断开所有连接的客户端 使用当前的 midas 服务器 顺便说一下 没有大量的流量可