我有一个小应用程序,使用继电器控制器打开门。如果有人进来,我必须一直打开和关闭COM端口。早上,当很多人聚集在一起时,控制器响应非常慢,我需要快速解决这个问题。
我的问题是,如果我一直打开它,我会遇到内存问题吗?如果应用程序崩溃并重新启动,将打开端口回收?
答案 0 :(得分:3)
我认为你不会遇到内存问题。我编写了一个程序,它使用条形码扫描程序,使用COM端口监听来自扫描仪的事件。我在程序启动时打开它并保持打开状态直到程序关闭而没有任何问题。
唯一需要担心的是COM端口一次只能被一个对象使用,所以如果你的程序已经打开它并试图再次打开它,那就是一个问题。
该程序可能会让COM端口保持打开状态,因此您最好尝试打开它,如果失败,请尝试关闭它(两个单独的try ... catch块),然后再次尝试打开它。这很麻烦,但在我的应用程序中,它最终减少了我必须排除故障的错误数量。我只是在程序加载时打开/关闭/打开以保证安全。
答案 1 :(得分:1)
唯一的问题是,有时如果你没有正确关闭com端口,它可以让你的应用程序保持活跃状态,作为一个处于保持com端口的延迟非死亡状态的进程。