我的传输方法是这样的:
1. Server --> Client Option, FilesNumber...
2. Client --> Server OK, Let's go !
3. Server --> Client File_1_Head -> FileName
-> FileSize
-> FileDate
-> CRC32
-> .....
4. Client --> Server 根据选项决定该文件是否传输
Send File_1_OK or File_1_NO;
Finish = False
5. Server --> Client if File_1_OK SendFile_1_Pack_1_
6. Client if Finish
OKToTerFile = False
else
UnPackFile_1_Pack_1_
7. Server if All_Finish Exit;
if File_1_Finish
goto 3
else
goto 5原理仔细看其实很简单,就是一来一往的对话。
但现在出现这样的问题,客户端代码里面明明是先解压缩再保存,然后再发送继续的指令,服务器出到继续指令时才会发后面的文件流,可实际运行却是还未保存就已经发送了继续的指令…… 最终造成了以上方式的结果是:服务器传文件一两秒就结束了,而客户端却才接收到一半,然后就停在那儿了。我的QQ是 13888835 MSN [email protected]
谢谢各位!能解决者,分不是问题。
那这样的话我如何处理中断操作?文件又该如何传?
(我试过了,只一味地去传输的话,也是一样,服务器传完了,客户端才收到一半还不到)另外,我的服务器与客户端用的都是线程阻塞模式。
类似HTTP文件下传.-----------------------
你那种方式错误应该是出在具体代码上.
一般来说,发送的时候,你应该判断一下SOCKET函数返回值,确定是否发送到对端.
ftp 需要 20, 21 两个 port。一个端口是传输命令的,一个端口是传输数据的。