问题描述
尝试将文件从客户端发送到服务器。
这是我收到的方式:
printf("Server receiving file...\n");
while((bytes_read = read(sd,buf,sizeof(buf))) > 0){ //second read Now retrieving the file size
printf("writing");
fwrite(buf,1,bytes_read,fp);
printf("checking if reached here");
}
由于某种原因,第二条打印语句“检查是否到达此处”从未到达,并且程序只是没有退出循环。可能是什么问题?
PS。我的客户端发送所有字节,因此发送没有问题。它只是写入文件
解决方法
套接字是否被阻止(默认设置)?
如果是,则每当没有要读取的数据时,read()将挂起,等待 更多数据(或关闭套接字,在这种情况下,它将返回0个字节)。
,您是否使用fopen函数打开了文件? 这是一个有关您应该在脚本中某处放置一段代码的小示例。
fp = fopen( "file","w" );
检查某处是否有类似的行,否则需要添加它。