国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Delphi > 正文

用Delphi編寫點(diǎn)對(duì)點(diǎn)傳文件程序(2)

2019-11-18 18:45:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
end;
end;

cs.OnRead(Sender: TObject;Socket: TCustomWinSocket);
var
sTemp: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是個(gè)常量,每次發(fā)送包的大小。
Socket.SendText(MP_FILEPROPERTY+Trunc(fsSend.Size/iBYTEPERSEND)+1);
end;
MP_NEXTWILLBEDATA:begin
Socket.SendText(MP_NEXTWILLBEDATA);
end;
MP_DATA:begin
try
GetMem(bufSend,iBYTEPERSEND+1);
if (fsSend.Position+1+iBYTEPERSEND) < fsSend.Size then
begin
fsSend.Read(bufSend^,iBYTEPERSEND);
Socket.SendBuf(bufSend^,iBYTEPERSEND);
fsSend.Free;
end//普通的發(fā)送,大小為iBYTEPERSEND
else begin
fsSend.Read(bufSend^,fsSend.Size-fsSend.Position-1);
Socket.SendBuf(bufSend^,fsSend.Size-fsSend.Position-1);
end;//最后一次發(fā)送,發(fā)送剩余的數(shù)據(jù)
finally
FreeMem(bufSend,iBYTEPERSEND+1);
end;{of try}
end;
MP_ABORT:begin
//被取消了:(
fsSend.Free;
end;
end;{of case}
end;


整理程序:
  加入錯(cuò)誤判斷,優(yōu)化程序,把Server和Client聯(lián)合在一起,加入剩余時(shí)間進(jìn)度顯示,做成能一次傳多個(gè)文件,加入聊天功能,就成了一個(gè)很好的點(diǎn)對(duì)點(diǎn)傳文件的程序。

上一篇:幾本我不喜歡的Delphi書籍(之一)

下一篇:用Delphi編寫點(diǎn)對(duì)點(diǎn)傳文件程序(1)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 百色市| 仁化县| 虹口区| 白玉县| 四平市| 莒南县| 白河县| 邢台县| 文水县| 白沙| 武宣县| 原平市| 东丽区| 财经| 满洲里市| 姚安县| 阜阳市| 莱西市| 宁国市| 新龙县| 沭阳县| 慈利县| 大足县| 涪陵区| 梓潼县| 天等县| 石台县| 怀安县| 宜君县| 大渡口区| 泸西县| 上饶县| 苏尼特右旗| 汤阴县| 江西省| 合川市| 辉南县| 冀州市| 盐边县| 古田县| 射洪县|