我在寫一個socket程式去抓http的檔案,
傳送
strcpy(request,"GET /music/play.mp4 HTTP/1.1\r\n");
strcat(request,"HOST: 192.168.100.104\r\n");
strcat(request,"\r\n");
這個request過去,回傳的第一個封包會有檔案長度,
和檔案一開始的資料,之後就一直傳資料過來。
我用一個while(recv(sd,buf,1024,0)&& remain > 0)
去接資料。
現在我遇到一個問題,當我傳的檔案室.txt檔時,程式可以正常執行
當我改成其他格式,程式會卡在while裡。
試了一下,似乎是在等待接收最後一個檔案封包
我把每次收到的檔案大小加起來會缺一點點,不到1024
請問為什麼會收不完整個檔案?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.154.113