|
|
1
1
尝试更改为:
或者,如果要保持连接打开,请尝试:
|
|
|
2
1
好的,这是你的问题: 在第一个循环中,它工作正常,因为所有内容都已正确初始化,但在它发送第一个文件后,您调用s.Close();
现在发生的事情是在第一个循环之后关闭流,然后在第二个循环上它已经被“释放”。 固定移动s.Close();退出循环并进入断开按钮事件或应用程序关闭事件。 此外,我建议不要使用线程。睡眠(间隔); 这是因为睡眠会冻结线程和主线程。NET用于您的接口,因此线程非常糟糕。 创建一个新线程,如前一篇文章中所述:
请记住为该线程使用try-catch块,否则如果发生异常,将无法很好地处理。还要记住,在该线程运行时关闭应用程序将使你的应用程序保持打开状态,直到你手动终止进程,因此在应用程序关闭事件中,请记住终止该线程。 关闭时也会发送一个信号,让线程退出,但干净地退出可能需要18秒,另一种解决方案是使用线程。中止();但这是一个肮脏的出口,很可能引发异常。 再次请记住阅读线程技术,这是一个快速而糟糕的版本,它在生产环境中应该是怎样的。 |
|
|
mac01021 · AWS Lambda功能停止连接? 8 年前 |
|
|
KSK · 如何在中检测通过串行端口或以太网连接的设备状态的变化。净额 8 年前 |
|
|
James Ferry · TCP如何处理数据包丢失-对物理层的影响 8 年前 |
|
|
Johan · 路由表大小和查找速度[关闭] 8 年前 |
|
|
Mark · 在QB64中通过网络接收和发送字符串 8 年前 |