TCP/IP传输文件问题。[附伪码]
对多台机器传输文件
- C# code
public void SendFile(){ //循环发送 foreach(IP地址 in 多台机器IP地址列表) { Socket.Connect(IP地址); FileStream.Read(要发送的文件); Socket.Send(FileStream To Bytes); Socket.close(); FileStream.close(); }}..............//主程序中启动线程执行传输文件Thread thread = new Thread(new ThreadStart(SendFile));thread.Start();
目前遇到的问题是:
Socket.close()执行后,提示socket已关闭,这样第二个就传输不了了,只能向列表中的第一台传输。
关闭Socket执行,提示“文件正被使用,不能操作”。估计是第一个传输还没完成,第二个传输开始去读取文件了。
请问如何解决这个问题?谢谢!
[解决办法]
大概是出在多线程问题
你要有:
第一:主控线程。
第二:监听线程。
第三:发收线程。