SOCKET傳收檔問題 |
答題得分者是:暗黑破壞神
|
迷幻御史
一般會員 發表:3 回覆:1 積分:0 註冊:2007-04-26 發送簡訊給我 |
CLIENT端 傳送檔案
<textarea class="delphi" rows="10" cols="60" name="code">clientsockettrans->Host = serverhost->Text ; clientsockettrans->Active = true ; TMemoryStream *aaa = new TMemoryStream ; aaa->LoadFromFile("abc.txt") ; ftrans ftemp ; ftemp.TotalSize = aaa->Size ; lstrcpy(ftemp.filename , "abc.txt" ); ShowMessage(ftemp.filename); aaa->Read(ftemp.Data,ftemp.fsize) ; clientsockettrans->Socket->SendBuf(&ftemp,sizeof(ftrans)) ; </textarea> SERVER端 接收檔案 <textarea class="delphi" rows="10" cols="60" name="code">TMemoryStream *bbb = NULL ; bbb = new TMemoryStream ; ftrans ftemp ; Socket->ReceiveBuf(&ftemp,sizeof(ftrans)) ; bbb->Size = ftemp.TotalSize ; ShowMessage(ftemp.filename) ; bbb->Write(ftemp.Data,ftemp.fsize) ; bbb->SaveToFile(ftemp.filename) ; </textarea> 兩個執行檔皆有相同STRUCT <textarea class="delphi" rows="10" cols="60" name="code">typedef struct filetrans { char filename[1024]; DWORD fsize ; DWORD TotalSize ; BYTE Data[1024]; } ftrans; </textarea> 這樣的程式碼 它有傳輸的動作了... 但是收到的檔案...打開裡面卻是亂七八糟的內容... 請教是哪一部分的程式碼有問題?? //-------------------------------------------------------------- 跟第一次發文的內容全不相同...已修改過... 編輯記錄
迷幻御史 重新編輯於 2007-05-06 04:40:52, 註解 無‧
|
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |