:0wszxc
今天一下午就为了recv or read网络传输过来的数据,但是发现传输完了之后服务器和主机这边的程序都停止了,或者说是一直处于读取数据的状态,但是什么也没有读到。
所以我的程序就卡死在那了。
程序如下:
服务器端:
//下载文件函数
int download_file(char * buf,int c_sockfd)
{
int fd; char buff[100]; int k;
fd=open(buf+3,O_RDWR);
while(k=read(fd,buff,100)>0)
{
write(c_sockfd,buff,100);
memset(buff,0,100);
printf("发送的数据为 %d 位。\n",k);
}
printf("发送数据完毕");
close(fd);
return 0;
}
客户端的程序:
/下载文件函数
int download_file(int c_sockfd)
{
int fd;
char buff[100];
int k;
fd=open("/home/wangli/wujun/tt.txt",O_RDWR|O_CREAT);
while(k=read(c_sockfd,buff,100)>0) //测试一下是一次读完还是循环读
{
write(fd,buff,100);
memset(buff,0,100);
printf("接受的数据为 %d 位。\n",k);
}
printf("接受数据完毕");
close(fd);
return 0;
}
请:
江湖人士亮剑!