怎樣用delphi製作一個IPhunter |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
怎樣用delphi製作一個IPhunter
http://cnprogram.myrice.com/article/delphi/delphi205.html 有人說現在的程式師成了組裝工人,其實很有道理,利用控制項模組 少量代碼就可以實現,delphi 5.0提供了豐富的internet控制項,利用tcp/ip 用戶端-服務端就可以解決問題。關鍵的控制項是serversocket,我們模仿iphunter的介面用一個button1(按鈕),一個combobox1(用於顯示),這三個最基本的控制項放置到空白表單上就可以開始寫代碼了。
首先,這個combobox1必須能顯示多個ip,我們定一個變數y來累加combobox1.items[y],
var y:integer;
我們的思路如下,當serversocket活動的port(埠)收到基於tcp/ip協定的連結請求時候,返回對方的ip值,傳遞給combobox顯示出來。由button1控制serversocket的啟動,也就是打開關閉埠。
我們在serversocket的on clientconnect事件中加入一下代碼
procedure tform1.serversocket11clientconnect(sender: tobject;
socket: tcustomwinsocket);
begin
combobox1.items.insert(y,'');//加入一條空紀錄
combobox1.items[y]:=socket.remoteaddress;//獲取對方的ip
label1.text:='共捕獲' inttostr(y 1) '個ip';//用一個標簽來顯示一共抓了多少ip
y:=y 1;//計數變數加1
socket.close;
end;
現在,將button1的caption屬性設置? '開始',在它的單擊事件中加入以下代碼
procedure tform1.speedbutton7click(sender: tobject);
begin
if speedbutton7.caption='開始' then
begin
serversocket11.port:=80;//這句可以在serversocket屬性中設定,捕獲瀏覽器的連接
serversocket11.active:=true;//啟動埠
speedbutton7.caption:='停止';
end
else
begin
serversocket11.active:=false;//關閉埠
speedbutton7.caption:='開始';
combobox1.clear;//結束捕獲,清空歷史資訊
y:=0;//計數變數重定
end;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |