发送端 向 接收端 发送一个文件
发送端 如何知道接收端接收的进度。。
如果
发送端
while( 发送条件 )
{
:
:
send( SOCKET, buffer, size ) //发送文件
:
:
}
接收端
while( 接收条件 )
{
:
:
recv( SOCKET, buffer, size ) //接收文件
:
:
send( ...... ) //向发送端返回接收到的大小
}我这样写,会造成 发送端 和 接收端 (网络阻塞 //我的理解)
发送端 和 接收端 都会在等待,程序假死。。那我如何知道,接收端接收文件的进度
发送端 如何知道接收端接收的进度。。
如果
发送端
while( 发送条件 )
{
:
:
send( SOCKET, buffer, size ) //发送文件
:
:
}
接收端
while( 接收条件 )
{
:
:
recv( SOCKET, buffer, size ) //接收文件
:
:
send( ...... ) //向发送端返回接收到的大小
}我这样写,会造成 发送端 和 接收端 (网络阻塞 //我的理解)
发送端 和 接收端 都会在等待,程序假死。。那我如何知道,接收端接收文件的进度
send 的返回值只是说明发出了多少个字节
与 接收端 recv 不同步的
就是说 发送端 发完了, 接收端还一定接收完... 这不是说它丢包了
例:
::PostThreadMessage(m_pHook->m_nThreadID,WM_DATADSP_MESSAGE,(WPARAM)pStuThd,0);
其中:
m_pHook->m_nThreadID是消息接收线程的句柄
WM_DATADSP_MESSAGE是自定义的消息
后面是要传递的数据