討論區快速選單
知識庫快速選單
網路投保旅行平安險 Excel也能做到大數據分析?
[ 回上頁 ] [ 討論區發言規則 ]
Socket 傳送非文字檔的問題
更改我的閱讀文章字型大小
作者 : maintime(Maintime)
[ 貼文 55 | 人氣 7435 | 評價 0 | 評價/貼文 0 | 送出評價 19 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/5/10 下午 02:14:26
大家好,我用 socket 從 server 傳送一個圖檔到 client 端,傳送成功後,再到 client 端,但無法開啟該圖檔,client 端接收的檔案大小是與 server 端一致,但client 端的圖檔格式卻錯誤,我的程式如下。

client 端
-----------------------------------------------------
   while ( true ) {
     /* 收檔 */
     if ((bytesRcvd=recv(sock, recvBuffer, RCVBUFSIZE - 1, 0)) <=0 ) {
     //perror("\nwainting for incoming message");
     } else {
     totalBytesRcvd += bytesRcvd;
     printf("\ntotalBytesRcvd: %d", totalBytesRcvd);
     /* 以 Binary 存檔 */
     if ( (file1=open("test.jpg", O_CREAT | O_TRUNC | O_BINARY | O_WRONLY, 0666)) == -1 ) {
     printf("\nFile open fail !!");
     } else {
     if ( bytes = write(file1, buf, totalBytesRcvd) != totalBytesRcvd ) {
     printf("\nfile write error %d %d",bytes,totalBytesRcvd);
     close(file1);
     } else {
     printf("\nWrote %d bytes", bytes);
     close(file1);
     }
     }
     memset(recvBuffer, 0, RCVBUFSIZE);
     totalBytesRcvd = 0;
     }
   };

server 端
-----------------------------------------------------
   /* 以 Binary 讀檔 */
   if ( (file1=open("E:\\00-Project\\Clinet Server\\test.jpg", O_RDONLY | O_BINARY)) == -1 ) {
     printf("\nfile open fail");
   } else {
     if ( (bytes=read(file1, buf, 150000)) == -1 ) {
     printf("\nfile read error");
     } else {
     printf("\nRead %d bytes", bytes);
     }
   }

   /* 傳檔 */
   if (send(clntSocket, buf, bytes, 0) != bytes) {
     perror("\nsend() failed");
     exit(1);
   } else {
     printf("\nBinary Send : %d", bytes);
   }

謝謝大家 !
作者 : maintime(Maintime)
[ 貼文 55 | 人氣 7435 | 評價 0 | 評價/貼文 0 | 送出評價 19 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/5/12 下午 08:51:28
解決了,因為我錯用了 write 裡面的 "buf" ....
 板主 : 徵求中
 > 通訊網路 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 通訊網路 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
通訊網路
1 ozzy 230 
2 williamhu99 50 
3 joe 30 
4 chengcti 30 
5 小中中 30 
6 小水瓶 20 
7 包租婆 20 
8 賽伯蛀蟲 10 
9 風月 10 
10 lingo 10 
通訊網路
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125