我的程序 ( MAIN
) 有两个与 com 端口 ( COM
) 和 TCP 会话 ( TCP
) 通信的线程。
如果 main ( MAIN
) 程序需要来自模块的信息,TCP
它COM
会发送请求消息R
( tR
and cR
)。当线程有答案时,它们会发回答案A
(tA
并且cA)
。我有问题,当我将请求发送到COM
(cR
)并且没有从它得到答案时,答案来自TCP
- tA
。COM
R-A
应该以某种方式与 TCP 中断隔离。如何使用 JAVA 1.4 解决这个问题?
UPD。在tA
事件MAIN
启动cR
时 - 请求COM
端口。Main 可以COM
自己发起请求。我想避免在COM
没有从第一个问题得到答案的情况下移植第二个问题。
UPD2。实际上整个系统如下图所示。cR
可能由tA
或开始uR
。并且cA
可以回答TCP
viatR
或 to UI
via uA
。
以下场景是正确的
uR->cR->cA->tR-tA->cR->cA->uA
cA->tR->tA->cR
uR->cR->cA->uA
当两个请求同时发送到 COM 时,我遇到了麻烦。
cA->tR->tA->cR
uR->cR
我只想在 COM 向第一个调用者返回答案的情况下才允许新请求。