我在工作中运行装配线,我正在尝试自动化。 目前的软件是两个独立兴奋的。一个是将变量添加到sql数据库的编辑器,第二个读取该数据库并控制cnc。两者都在同一台PC上,同时运行,两者都是用vb6编写的。当您点击第一个.exe(编辑器)中的“添加”按钮时,它会以某种方式告诉第二个.exe重新加载sql数据库并加载任何更新。
我的问题是我编写了一个软件,它接受条形码并自动将变量插入数据库,这将绕过第一个软件,但第二个软件不知道何时重新访问数据库进行更新。
是否有任何常见的方法让一个.exe与第二个.exe交谈,我该如何收听,以便我可以复制它? 谢谢 萨姆
编辑: 抱歉,'旁路'的意思是让第一个.exe冗余。我的软件插入sql而不是编辑软件。
答案 0 :(得分:0)
你可以看一下叫做命名管道的东西。这就是通常的做法。
你可以在msdn上看到它,有一个很好的例子。 https://msdn.microsoft.com/en-us/library/bb546085(v=vs.110).aspx
答案 1 :(得分:0)
管道,在另一个响应中提到,是一种常见的机制。我在交换少量数据时的偏好是UDP套接字。
使用Winsock控件,您可以在几行代码中设置peer-peer或'talker-listener'通信。您的第二个程序可以从第一个程序中侦听简单信号或更完整的数据包,并采取相应措施。
另一个好处是,如果这台PC在本地网络上,如果以后需要将这两台程序移到另外的PC上,这是微不足道的。
答案 2 :(得分:0)
MSMQ私有机器队列易于在VB6中设置和使用。它们对于你正在做的事情几乎听起来很理想,你可能完全抛弃数据库。