用delphi編寫點對點傳檔案程式(2)
end;
end;
cs.onread(sender: tobject;socket: tcustomwinsocket);
varstemp:string;
bufsend:pointer;
begin
srecv:=socket.receivetext;
case srecv[1] of
mp_refuse:showmessage(faint,be refused!);
mp_accept:begin
fssend:=tfilestream.create(opendialog1.filename,fmopen);
//ibytepersend是個常量,每次傳送包的大小。
socket.sendtext(mp_fileproperty+trunc(fssend.size/ibytepersend)+1);
end;
mp_nextwillbedata:begin
socket.sendtext(mp_nextwillbedata);
end;
mp_data:begin
trygetmem(bufsend,ibytepersend+1);
if (fssend.position+1+ibytepersend) < fssend.size then
begin
fssend.read(bufsend^,ibytepersend);
socket.sendbuf(bufsend^,ibytepersend);
fssend.free;
end//普通的傳送,大小為ibytepersend
else begin
fssend.read(bufsend^,fssend.size-fssend.position-1);
socket.sendbuf(bufsend^,fssend.size-fssend.position-1);
end;//最後一次傳送,傳送剩餘的資料
finally
freemem(bufsend,ibytepersend+1);
end;
end;
mp_abort:begin
//被取消了:(
fssend.free;
end;
end;
end;
加入錯誤判斷,優化程式,把server和client聯合在一起,加入剩餘時間進度顯示,做成能一次傳多個檔案,加入聊天功能,就成了乙個很好的點對點傳檔案的程式。
用Delphi編寫安裝程式 1
用delphi編寫安裝程式 1 當你完成乙個應用軟體的開發後,那麼你還需要為該軟體做乙個規範化的安裝程式,這是程式設計的最後一步,同時也是很重要的一步,因為執行安裝程式往往是使用者做的第一步操作。很多報刊文章介紹了許多如何利用installshield等工具軟體來製作安裝程式的方法,這種辦法可以很快...
用Socket實現點對點的檔案傳輸
用socket實現點對點的檔案傳輸 system.sockes命名空間了實現 berkeley 套接字介面。通過這個類,我們可以實現網路計算機之間的訊息傳輸和傳送.而在我下面要討論的這個議題裡,我們將討論的是用套節子實現檔案的傳輸.這種方法有別於ftp協議實現的的檔案傳輸方法,利用ftp的方法需要乙...
用Socket實現點對點的檔案傳輸
用socket 實現點對點的檔案傳輸 system.sockes命名空間了實現berkeley 套接字介面。通過這個類,我們可以實現網路計算機之間的訊息傳輸和傳送.而在我下面要討論的這個議題裡,我們將討論的是用套節子實現檔案的傳輸.這種方法有別於ftp協議實現的的檔案傳輸方法,利用ftp的方法需要乙...