
菜館求助高手,為什么用UDP發送并接收的TXT檔案正常,而其它的打不開?
發送端:
if (fopen_s(&fp, "C:\\前景圖.jpg", "rb+") != NULL)////“rb”二進制檔案以只讀方式打開
{
MessageBox("mysend.txt open failure!!\n");
fclose(fp);
}
//求得檔案的大小
fseek(fp, 0, SEEK_END);
filelen = ftell(fp);
fseek(fp, 0, SEEK_SET); //fseek(fp,0,0);//將檔案指標移回fp首部
char buf[BUFFER_SIZE] = { 0 };
while (1)
{
memset(buf, 0, BUFFER_SIZE);
fread_s(buf, BUFFER_SIZE, 1, BUFFER_SIZE, fp);
if (filelen >= BUFFER_SIZE)
{
len = sendto(mysock, buf, BUFFER_SIZE, 0, (struct sockaddr *)&to_sin, sendlen);
filelen -= BUFFER_SIZE;
}
else
{
sendto(mysock, buf, filelen, 0, (struct sockaddr *)&to_sin, sendlen);
Sleep(30);
break;
}
Sleep(30);
}
fclose(fp);
接收端:
case MT_FILE_START:
{
// 打開檔案
if ((fp = fopen("C:\\myrecv.jpg", "wb+")) == NULL)
{
printf("myrecv.txt open failure!!\n");
}
}
break;
case MT_FILE_CONTENT:
{
fwrite(data, 1, BUFFER_SIZE, fp);
}
break;
case MT_FILE_END:
{
fwrite(data, 1, pHeader->nDataLength, fp);
Sleep(30);
fclose(fp);
}
break;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/160352.html
標籤:網絡編程
