亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi編寫點對點傳文件程序(1)

2019-11-18 18:45:16
字體:
供稿:網(wǎng)友
文章摘要:
 Delphi功能強大,用Delphi寫軟件,可以大大縮短軟件的開發(fā)周期。本文介紹怎樣用Delphi編寫點對點傳文件程序。  

--------------------------------------------

  Delphi功能強大,用Delphi寫軟件,可以大大縮短軟件的開發(fā)周期。關(guān)于點對點傳文件的基本思路,就是一個服務(wù)器軟件,一個客戶端軟件,使用同一個端口,待連接上以后,客戶端給服務(wù)器發(fā)送一個請求,包括待傳的文件的文件名,大小等,如果服務(wù)器接受,就開始傳文件。當(dāng)然,文件傳輸?shù)臅r候可以有兩種模式,ASCII碼和Bin,不過一般通用Bin 就可以了。基于上面的討論,本來用Delphi4的NMStrm,NMStrmServ 控件就可以完成,但是我測試過了,NMStrm控件對于較小的文件還可以使用,而且很方便,但是如果文件一大(1M)就會出錯。所以接下來我們利用Delphi中TServerSocket和TClientSocket寫這個程序由于以太包大小的限制以及DelphiSocket的處理機制(Delphi中,當(dāng)你用一個Socket發(fā)送一個較大的Stream,接受方會激發(fā)多次OnRead事件,Delphi她只保證多次OnRead事件中每次數(shù)據(jù)的完整,而不會自己收集數(shù)據(jù)并返回給用戶。所以不要以為你把待傳文件在一個Socket中Send一次,另一個中Recv一次就可以了。你必須自己收集數(shù)據(jù)或自己定義協(xié)議。),所以我們采用自定義協(xié)議的方法。定義協(xié)議的規(guī)范方法是利用Record End。如:
TMyFilePRotocol=Record
sSendType=(ST_QUERY,ST_REFUSE,ST_DATA,ST_ABORT,...);
iLength:integer;
bufSend:Buffer;
End;
  我曾試過這個辦法,但失敗了,而且我一直認為我的方法是正確的,但程序一直編譯通不過,估計是Delphi有問題:) 所以我在下列的范例程序中利用另外一種辦法。Socket 類中有兩屬性ReceiveText和ReceiveBuf,在一個OnRead事件中,只能使用一次該兩屬性,所以我們可以利用一個全程變量來保存是該讀Text還是Buf,也就是說讀一次Text,再都一次Buf,這就模擬了TMyFileProtocol。


開始程序:
寫一個最簡單的,主要用于講解方法。
定義協(xié)議:
Const
MP_QUERY ='1';
MP_REFUSE ='2';
MP_ACCEPT ='3';
MP_NEXTWILLBEDATA='4';
MP_DATA ='5';
MP_ABORT ='6';
MP_OVER ='7';
MP_CHAT ='8';

協(xié)議簡介:
首先由Client發(fā)送MP_QUERY,Server接受到后發(fā)送MP_ACCEPT或MP_FEFUESE;
Client接受到MP_ACCEPT發(fā)送MP_FILEPROPERTY,Server接受到后發(fā)送MP_NEXTWILLBEDATA;
Client接受到發(fā)送MP_NEXTWILLBEDATA,Server接受到后發(fā)送MP_DATA;
Client接受到MP_DATA,發(fā)送數(shù)據(jù),Server接受數(shù)據(jù),并發(fā)送MP_NEXTWILLBEDATA;
循環(huán),直到Client發(fā)送MP_OVER;
中間可以互相發(fā)送MP_CHAT+String;

Server程序:
放上以下控件:SaveDialog1,btnStartServer,
ss,(TServerSocket)

btnStartServer.OnClick(Sender:TObject);
begin
ss.Port:=2000;
ss.Open;
end;

ss.OnClientRead(Sender: TObject;Socket: TCustomWinSocket);
var
sTemp:string;
bufRecv:Pointer;
iRecvLength:integer;
begin
if bReadText then
begin
sTemp:=Socket.ReceiveText;
case sTemp[1] of
MP_QUERY:begin
//在這里拒絕
SaveDialog1.FileName:=Copy(sTemp,2,Length(STemp));
if SaveDialog1.Execute then
begin
Socket.SendText(MP_ACCEPT);
fsRecv:=TFileStream.Create(SaveDialog1.FileName,fmCreate);
end
else Socket.SendText(MP_REFUSE+'去死');
end;
MP_FILEPROPERTY:begin
//要發(fā)送StrToInt(Copy(sTemp,2,Length(sTemp))) 次
//時間進度顯示。。。
Socket.SendText(MP_NEXTWILLBEDATA);
end;
MP_NEXTWILLBEDATA:begin
Socket.SendText(MP_DATA);
bReadText:=false;
end;
MP_END:begin
fsRecv.Free
bReadText:=true;
end;
MP_ABORT:begin
fsRecv.Free;
bReadText:=true;
end;
MP_CHAT:begin
//Chat Msg
end;
end;{of case}
end
else begin
try
GetMem(bufRecv,2000);//2000 must >iBYTESEND
Socket.ReceiveBuf(bufRecv^,iRecvLength);
fsRecv.WriteBuffer(bufRecv^,iRecvLength);
finally
FreeMem(bufRecv,2000);
end;{of try}
bReadText:=true;
Socket.SendText(MP_NEXTWILLBEDATA);
end;
end;

Client程序:
放上以下控件:edtipAddress,OpenDialog1,btnConnect,btnSendFile,
cs. (TClientSocket)

btnConnect.OnClick(Sender:TObject);
begin
cs.Address:=edtIPAddress.Text;
cs.Port:=2000;
cs.Connect;
end;

btnSendFile.OnClick(Sender:TObject);
begin
if OpenDialog1.Execute then
Begin
cs.Socket.SendText(MP_QUERY+OpenDialog1.FileName);//FileSize???

上一篇:用Delphi編寫點對點傳文件程序(2)

下一篇:沉默的異常--Delphi幫助尋寶之一

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

新聞熱點

疑難解答

圖片精選

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

黄色三级网站在线观看| 日韩中文字幕影院| www.com毛片| 欧美精品影院| 免费看欧美美女黄的网站| 国产v亚洲v天堂无码久久久| 福利小视频网站| 91久色porny| 欧美一区二区观看视频| 欧美韩日高清| 一区二区不卡在线视频 午夜欧美不卡'| 久久精品国产亚洲777| 成人午夜无人区一区二区| 欧美日韩视频在线第一区| 黄色一级大片在线免费看产| 在线观看成人黄色| 97色婷婷成人综合在线观看| 五月婷婷导航| 亚洲一区二区三区不卡国产欧美| 午夜日韩av| 日韩免费视频网站| 日韩资源在线观看| 91.·福利| 综合激情五月婷婷| 欧美视频中文字幕在线| 深夜宅男网站免费进入| 亚洲国产精品久久网午夜小说| 日韩三级久久久| 伪装者在线观看完整版免费| 欧美日韩中文国产| 性欧美video高清bbw| 4438x全国最大成人| 国产在线观看av| 看片网址国产福利av中文字幕| 国产精品免费久久久| 牛夜精品久久久久久久99黑人| 超碰超碰在线| 无码人妻精品一区二区三区66| 青青青青久久精品国产一百度| 极度色播免费播放视频| 四虎精品成人a在线观看| 五月综合网站| av在线理伦电影| 免费一级全黄少妇性色生活片| 国产精品国产亚洲伊人久久| 韩国理伦片久久电影网| 日韩免费影院| 男男受被啪到高潮自述| 日韩在线国产精品| 久久久久久国产精品无码| **网站欧美大片在线观看| 无码人妻精品一区二区蜜桃色欲| eeuss影院在线播放| 国产成人无码www免费视频播放| 一个人看的www视频免费在线观看| 亚洲国产成人久久| 四虎永久精品在线| 娇小发育未年成性色xxx8| 97精品人妻一区二区三区蜜桃| 精品一区久久久久久| 国产精品欧美韩国日本久久| 亚洲a区在线视频| 亚洲永久在线| 7777精品伊人久久久大香线蕉| 少妇被躁爽到高潮无码文| 久久久久精彩视频| 欧美日韩一区二区三区免费看| 天天做夜夜做人人爱精品| 四虎影院中文字幕| 亚洲福利精品视频| 成年人免费观看视频网站| 波多一区二区| 亚洲大片精品永久免费| 午夜精品久久久久久久爽| 韩国av电影免费观看| 欧美日韩国产一中文字不卡| 国产网友自拍视频导航网站在线观看| 国产精品白嫩白嫩大学美女| 亚洲网址你懂得| 在线亚洲一区| 亚洲精品久久久久久无码色欲四季| 成年人网站国产| 好男人社区在线视频| 欧美日韩女优| 国产中文第一页| a毛片毛片av永久免费| 看黄色一级大片| 欧美在线观看网站| 91丝袜美腿高跟国产极品老师| 欧美 国产 小说 另类| 在线观看a视频| 国产一级片毛片| 在线亚洲精品自拍| 欧美激情中文字幕乱码免费| 韩剧1988免费观看全集| 亚洲a级在线播放观看| 色欧美激情视频在线| 亚洲av成人无码久久精品| 成人性生交大片免费网站| 国产肥臀一区二区福利视频| 免费黄色一级网站| 亚洲丝袜啪啪| 丰满大乳奶做爰ⅹxx视频| 青青视频在线观| 午夜毛片在线观看| www黄在线观看| 欧美aaaxxxx做受视频| 亚洲精品中文字幕乱码| 日韩一区二区在线免费| 91高潮在线观看| 日本一本久久| 日韩欧美在线免费| 91福利在线免费| 国产在线免费av| 男人插入女人视频| 亚洲aⅴ网站| 精品国精品国产自在久国产应用| 日本中文字幕在线观看| 精品一区二区不卡| 影音先锋导航| 在线观看免费视频一区| 特黄三级视频| 小视频福利在线| www.国产在线播放| www日本视频| 在线资源av| 好男人社区在线视频| 国产超级av在线| 色爱精品视频一区| 成人欧美一区二区三区黑人一| www.com毛片| www.欧美精品| 久久午夜视频| 国产91ⅴ在线精品免费观看| 成人黄色网址| 欧美激情国产精品| 日本午夜精品理论片a级app发布| 久久成人精品无人区| 欧美小视频在线观看| 日韩欧美999| 无码人妻丰满熟妇区bbbbxxxx| 国产欧美高清| 成年人黄视频网站| 午夜爽爽视频| 亚洲成人黄色在线观看| 日本性生活网站| 色综合综合色| 日韩精品一卡二卡| 国内自拍欧美激情| 99精品久久久久久中文字幕| 国产精品一区二区视频| 一起操在线播放| 狠狠躁夜夜躁久久躁别揉| 亚洲精品在线视频免费观看| 一区二区三区精品久久久| 欧美成人首页| 色大18成网站www在线观看| seerx性欧美巨大| 成人综合在线观看| 一区二区激情| 蜜桃av综合| 国模私拍国内精品国内av| 国产精品综合久久久久久| 密臀av一区二区三区| 羞羞免费视频网站| 欧美性视频在线| 精品国产av一区二区| 国产成人综合欧美精品久久| 国产视频第二页| 国产农村妇女aaaaa视频| 亚洲黄色小说网址| 男女猛烈无遮挡午夜视频| 日韩免费av片在线观看| 一区二区三区欧美成人| 比比资源-先锋影音资源站| 亚洲an天堂an在线观看| 国产成人综合在线视频| 久久一级黄色片| 一区二区三区欧美成人| 日韩专区视频网站| 国产亲伦免费视频播放| 免费黄色在线网址| brazzers在线观看| 欧美肥婆姓交大片| 人与动性xxxxx免费视频| 色狠狠av一区二区三区| 欧美xxxx少妇| 无码人妻丰满熟妇奶水区码| 国产三级视频在线看| 国产精品激情自拍| 国产精品xxxx喷水欧美| 日韩在线免费视频| 四虎成人免费电影| 污视频网站免费| 国产一区二区三区四区五区3d| 亚洲s色大片| 国产成人免费视频网站视频社区| 中文字幕人妻互换av久久| 日本一区二区三区国色天香| 99re6在线视频精品免费| 在线观看免费国产小视频| 国产一级二级三级精品| 无码人妻黑人中文字幕| www.成人| 95视频在线观看| 99久久国产综合色|国产精品| 国产中文字幕视频在线观看| 青青影院一区二区三区四区| 国内福利写真片视频在线| 国产l精品国产亚洲区在线观看| 亚洲欧洲一区二区在线观看| 日日摸天天爽天天爽视频| 久久先锋影音av鲁色资源网| 色内内免费视频播放| 亚洲欧美乱综合| 欧美性感美女一区二区| 国产99久久久精品| 色综合888| 成人观看高清在线观看免费| 高清国语自产拍免费一区二区三区| 国外视频精品毛片| 97福利电影| 日韩人妻精品一区二区三区| 伊人色在线观看| 久久久久国产精品一区三寸| 福利一区福利二区| 日韩午夜电影在线观看| 爱啪导航一精品导航站| 日韩亚洲精品在线观看| 久久久久北条麻妃免费看| 欧美久久久网站| 久久亚洲精品毛片| 欧美视频在线观看 亚洲欧| 成人午夜福利视频| 涩涩av在线| 在线观看亚洲精品视频| 久久人人爽人人爽人人片| 亚洲美女少妇无套啪啪呻吟| 极品中文字幕一区| 日韩夫妻性生活xx| 91精品福利视频| 亚洲国产精品一区在线观看不卡| 国产女人18水真多18精品一级做| 97国产成人无码精品久久久| 日本一区二区视频在线| 国产三级黄色片| 欧美日本高清视频在线观看| 九九热在线视频观看| 日韩欧美中文视频| 91丨porny丨探花| 亚洲激情中文在线| 91视频精品在这里| 久久久精品一区二区| 国产精品99精品无码视| 国产精品久久久久婷婷二区次| 日韩美女精品| 亚洲视频观看| 午夜av免费看| 久草综合在线视频| 影音先锋黄色网址| 日韩精品一区二区三区三区免费| 欧美精品一区二区三区在线播放| 日韩电影网址| 国产视频一二三| 久久这里只有精品视频网| 柠檬在线导航福利| h视频在线观看免费完整版| 免费看污片的软件| 在线一区二区不卡| 亚洲va久久久噜噜噜| av资源新版天堂在线| 综合在线影院| 亚洲v国产v欧美v久久久久久| 午夜在线观看视频18| 欧美影院一区二区三区| 精品欧美一区二区在线观看| a4yy在线播放免费观看视频| 国内国产精品天干天干| 可以在线看的黄色网址| 国产一级免费观看| 亚洲一区二区在线免费看| 欧美性猛交xxxx免费看手交| 顶级嫩模一区二区三区| 五月精品视频| 国产精品熟女一区二区不卡| 成人xxxxx| 99视频一区二区三区| 美女视频网站久久| 丝袜美腿诱惑一区二区三区| 国产精品热久久久久夜色精品三区| 亚洲36d大奶网| 2024最新电影免费在线观看| 91精品国产综合久久久久久丝袜| 性色视频在线| 在线观看视频一区二区三区| 欧美多人猛交狂配| 日韩a一级欧美一级| 少妇太紧太爽又黄又硬又爽小说| 一区二区三区免费在线视频| 一个人看的www在线免费视频| 成人国产精品日本在线| 欧美黄色免费在线观看| 国产综合视频在线| 国产成人精品在线看| 亚洲女人天堂av| 精品动漫一区二区三区在线观看| 精品亚洲aⅴ无码一区二区三区| 麻豆91精品91久久久的内涵| 国产精品免费在线免费| 日韩激情图片| 国产成人免费视频app| 媚黑女一区二区| 91一区二区在线观看| 日韩国产高清影视| 又黄又www| 无码人妻一区二区三区精品视频| 日韩免费观看网站| 成人高清在线观看免费| 在线精品一区| jizz在线免费播放| 日本美女高清在线观看免费| 五月婷婷丁香综合网| 97超碰最新| 九一亚洲精品| 黑人巨大狂躁日本妞在线观看| ,亚洲人成毛片在线播放| 国产剧情在线观看一区二区| 一区二区在线免费播放|