okibun0129 发表于 2008-5-16 15:07:58

一个关于TCP传文件的问题

我目前使用Proactor提供的文件输出模块传文件,想在发送端显示进度条,请问大家有什么好建议。

目前我考虑的使用ACE_Asynch_Read_File与ACE_Asynch_Write_Stream。首先记录文件总尺寸,记录已传输文件file_offset_初始化为0,然后读文件发文件,每次在handle_write_stream回调之后增加file_offset_,并继续读文件发文件直到文件发送完毕,之后采取Proactor提供的定时器每隔一秒钟,取file_offset_与总文件的尺寸的比值。

但是如果使用ACE_Asynch_Transmit_File操作会变得更为简单,发送方直接调用接口发就可以了,然后完毕之后会直接回调handle_transmit_file,这就出现了一个问题,中间发送过程是在ACE内部实现的,我从哪里获得每次发TCP包之后的回调信息呢,进而获得文件发送进度呢?
页: [1]
查看完整版本: 一个关于TCP传文件的问题