我有一个应用程序可以检测用于发送 SMS 的 USB 3G 加密狗。我的应用程序通过 AT 命令查询加密狗以确定它是否是正确的加密狗,这意味着某些加密狗只能在我的应用程序中使用(即使加密狗是同一型号)。发送和接收都很好,没有问题或任何问题。如果 3G Dongle 从 USB 端口移除,系统会检测到这一点并执行适当的程序。
这是我的问题。当重新插入 3G 加密狗时,比如在同一个端口 (COM5) 上,我的应用程序检测到这一点并执行一些 AT 命令来确定重新插入的加密狗是正确的加密狗。但是会出现错误说明:
资源正在使用中
必须终止或关闭应用程序才能使用相同的端口(例如 COM5)。然后我遇到了一个应用程序,几乎具有相同的功能,但重新插入后能够使用加密狗。
顺便说一句,我的加密狗是中兴MF190,我看到的应用程序来自华为。我正在使用 C#。有什么解决办法吗?或者更好,这有更好的逻辑吗?说使用服务等。
编辑:对加密狗的每个查询都在一个单独的线程中完成,以便能够在发送和接收时使用我的应用程序..
谢谢!