我的 C# .net 应用程序当前执行以下操作(除其他外):
- 创建一个在特定端口上打开套接字并等待指令的线程。
- 消息进来,套接字线程读取消息并引发事件。
- 事件处理程序调用必要的函数来解析消息并执行必要的操作,例如启动应用程序。
- 指定的外部“应用程序”异步启动。
当我的应用程序重新启动,但外部应用程序没有关闭时,套接字似乎永远不会关闭。然后,当我再次尝试在该端口上启动通信时,出现错误。但是,只要我关闭外部应用程序,我就可以在该端口上打开一个套接字。
我的程序似乎没有正确关闭。它应该在退出时杀死套接字,但是当外部进程正在运行时,套接字永远不会关闭。
有任何想法吗?