多个客户端程序与单个服务器程序进行通信的最佳方式是什么,所有这些程序都在单个 Windows 计算机上运行?全部用VB6编写。我很感激你如何解决这个问题的建议。
注意:我们正在努力过渡到 .NET,但必须在 .NET 准备好之前向 V6B 版本添加一项功能。
可能性包括 TPC 连接、命名管道、共享内存、消息、文件等。
客户端向服务器传递一个字符串作为输入,服务器将其与只有服务器知道的数据结合起来,生成另一个字符串返回给客户端。两个字符串都只有大约 100 个字符长。仅在需要打开新文件时才联系服务器,因此通信量非常低……可能在 15 秒内一连串 10 次呼叫,然后是一个小时的空闲时间。
但是有可能两个客户会选择大约在同一时间请求信息。阻塞/锁定当然是可以接受的,因为服务器将在不到一秒的时间内完成每个请求,并且几秒钟的延迟对任何程序都不重要。
服务器的算法很复杂,由于对应用程序很重要的几个原因,不应在每个帮助程序中复制。这就是需要服务器的原因。
背景:
我正在为现有的大型遗留程序添加功能。这个单一程序有几个其他遗留程序,它们充当帮助程序,并在用户做出某些选择时运行。这些程序以 shell 命令启动,而不仅仅是单独的线程。例如,一位助手将新数据从 DVD 驱动器加载到硬盘驱动器上。另一个助手只是显示行星当前位置的图表。
这是一个大型商业遗留程序,恰好是用 VB6 编写的。我们正在努力将它和所有帮助程序转换为 .NET,但必须首先在 vb6 下发布具有此附加功能的新版本。(请不要告诉我不要使用 VB6,因为我们已经搬到别处了。)我们需要一个临时的 VB6 解决方案。