我写了个用Socket传输文件的程序。
程序思路是这样的,从checklist中读出文件名,先传文件名、扩展名以及大小,再传文件内容;该程序可以传多个文件。一般情况下传输可以成功,但是有时会出现0KB的或1KB的文件;如果文件是1KB的话,里面内容是:文件名、扩展名、大小,即传每个文件第一次的传输信息。
有做过socket程序的给分析分析,多谢!
程序思路是这样的,从checklist中读出文件名,先传文件名、扩展名以及大小,再传文件内容;该程序可以传多个文件。一般情况下传输可以成功,但是有时会出现0KB的或1KB的文件;如果文件是1KB的话,里面内容是:文件名、扩展名、大小,即传每个文件第一次的传输信息。
有做过socket程序的给分析分析,多谢!
出现0KB的文件,有可能是你接收方的逻辑写的不太正确
具体的socket接收代码我不太记得了,下面给你些伪代码,主要为了表示逻辑,可能参数不太正确:byte[] buffer = new byte[1024];
int len = buffer.Length;
len = socket.Receive(buffer, 0, len);
while (len > 0)
{
fileStream.Write(buffer, 0, len);
len = socket.Receive(buffer, 0, len);
}估计参数不太正确,楼主自己改一下。
http://download.csdn.net/source/718224这也是应一个CSDN网友的改的,把单文件传输改为多文件传输的例子,自己看一下别人是如何处理的。