一块数据发送完后,另一端怎么判断是否接收完毕

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:42:53
客户端读一个文件然后发送给服务器,服务器接收后写入电脑。
客户端读文件,发送的代码:
C/C++ code
FILE *pRead;
pRead=fopen("f:\\1.jpg","rb+");
while(!feof(pRead))
{
fread(BUFFER,1,1024,pRead);
clientStream.send_n(BUFFER,sizeof(BUFFER));
}
fclose(pRead);

服务器接收我想需要判断是否发送完毕,如果发送完毕就不继续接收有了。不知道这么写,这样写不对;谁能帮我改改:
C/C++ code
FILE *pWrite;
char BUFFER[1024];
memset(BUFFER,0,sizeof(BUFFER));
while(severStream.recv_n(BUFFER,sizeof(BUFFER))!=-1)
{

ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("(%P|%t) %p\n"), ACE_TEXT ("receive failed")));
system("pause");
return 1;
}

while(...)---------------------这里括号里这么写?
{
pWrite=fopen("d:\\1.jpg","wb+");
fwrite(BUFFER,1024,

你在客户端的 fclose(pRead); 后再发送一个结束标识
服务器端接收到这个标记就表示已经读完了

多发送一个结尾标志就可以了

while(...)---------------------这里括号里这么写?

判断当非结束标志就进入

自定义一个结束标识符发送过去

当接收碰到改标识符时,就处理数据