C# Socket传输文件
由于工作需要,需要做一个远程文件上传程序。现在遇到个难题,希望和大家一起探讨。
1.客户端如何知道服务器端成功接收文件?
现在的解决方案是,客户端传完文件便接收服务器端(只有接收完文件后发送)传回的自定义协议信息,但由于都是采用的异步发送和获取,加上如果传的文件过大或网络过慢,就很难即时获取服务器传回的协议信息。感觉没有保障。
2.客户端如何在短时间内发送多个文件?
就是刚传完一个文件后紧接着又传输另一个文件。有点和上面类型的情况,如果网络慢或文件大,服务器没能及时接收完数据,而客户端又准备就绪。如果这时再传输就可能会出错。
这里说明,如果客户端与服务器成功建立连接后,期间就只使用一个网络流传输。