我正在尝试将文件从本地发送到FTP,因为我在发送文件之前锁定了TCPClient。并且该文件发送在另一个线程中。这样主线程就不会受到影响。
当我尝试在解锁之前使用锁定的TCPClient时,它会挂起。那么我应该如何继续,以便同时我可以发送文件也接收文件。(两个函数都在不同的线程但锁定相同的TCPClient对象)。
我也想暂停第一个线程并执行第二个线程,然后在第二个线程完成后继续执行第二个线程。
请帮助,我迷失在线程中。
答案 0 :(得分:2)
您不应该使用来自不同线程的相同TcpClient
来执行不同的操作 - 它表示单个连接,因此在两个不同线程上发送和接收的数据会相互干扰。 (即使您在一个文件中“发送”文件而在另一个文件中“接收”文件,两者都需要发送和接收数据。)
我建议你使用两个不同的TcpClient
个实例。
答案 1 :(得分:0)
TCP是双向协议。即使您收到文件,您也会一直发送确认。这意味着TCP在上下文中工作:有一个接收者端,一个发送者端。
您不应在实例中混合角色。使用2个不同的实例。它们可以并行工作。