回头一想你程序不只这个问题...
还有一重要问题是
void Sender::ReceiveFile()
这是个局部函数,即每次接收数据完后就会关闭...
你下次接收数据时又会创建文件file,还好你是以追加,可是中间有几个别的变量就不能放在函数中.而要放到类数据成员中,防止函数结束,栈区释放.
比如filesize,你如果是选择只发送一次文件大小,就像我楼上帮你改的方法1一样,那样的话, 从第二次调用filesize都为0了..因为只赋了初值为0..
好好想想这问题吧...把有些变量放到类数据成员中去