我已經創建了小套接字程序(客戶端/服務器)。客戶端將傳輸所有格式的文件到服務器。我現在面臨的問題是 - 我以二進制模式讀取mp3文件併發送到服務器。服務器從緩衝區中讀取內容並創建一個文件。但是當我試圖打開文件時,它並未打開。但尺寸與原來的一樣。任何人都可以指出我在做錯的地方。 這裏是我的服務器端代碼:在c編程的套接字編程
recv(newSocket,fileSize,50,0); //Receiving file size
// buffer=malloc(atoi(fileSize));
int i=0;
recv(newSocket,buffer,atoi(fileSize),0);
fwrite(buffer,1,atoi(fileSize),out);
客戶端: FREAD(數據,1,lSize所,文件);
sprintf(temp,"%ld",lSize);
send(socketDes,temp,strlen(temp),0);
send(socketDes,data,strlen(data),0);
檢查返回值! recv,send,fread等都會返回一些東西。這件事非常重要。 – nos 2010-09-06 18:08:59
我猜發送無法正常工作。嘗試int check = send();如果支票等於臨時顯示發送工作正常。如果你可以嘗試用一些軟件打開文件像Audacity – EsmaeelE 2017-05-15 18:33:41