这个东西我做过,而且使用情况良好。
具体做法:使用TServerSocket与TClientSocket构件。
服务端将文件读入流,然后通知客户端准备接收文件,客户端得到此消息后返回一个响应消息,然后服务端首先发送文件大小(字节数),客户端收到后再返回一个消息通知服务端将文件发过来。
服务端每次发送1~2K字节数据,客户端接收到后写入文件流,然后判断该文件流的大小是否已 大于或等于预先收到的文件大小,如果是,则释放文件流,否则通知服务端发送下一个数据包。
总的来说,Server与Client之间通过一问一答的方式来进行的。