如何得知client端pc的ip |
尚未結案
|
boslin
一般會員 發表:7 回覆:4 積分:2 註冊:2002-04-14 發送簡訊給我 |
|
zaguan
一般會員 發表:11 回覆:18 積分:10 註冊:2002-03-31 發送簡訊給我 |
|
boslin
一般會員 發表:7 回覆:4 積分:2 註冊:2002-04-14 發送簡訊給我 |
引言: 如果你是用 Indy 元件的話:TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerIP (AThread:TIdPeerThread)寫得很簡單,希望你看得懂! 發表人 - >>< face="Verdana, Arial, Helvetica"> 不好意思喔!小弟剛接觸有關於DELPHI在網路上面ㄉ設計, 所以不是很瞭解你寫ㄉ這段ㄉ意思,因為我連架構都不清楚該怎麼做! 我ㄉ想法是: 1. 寫一支程式在CLIENT端常駐,並定時向SERVER端發送訊息 (應該要發送什麼樣ㄉ訊息呢?) 2. 寫一支程式在SERVER端常駐,透過CLIENT端發送ㄉ訊息得知CLIENT端ㄉIP 不知道這樣ㄉ架構對不對? 如果是對ㄉ,請問一下上面寫ㄉ那段程式是用在哪裡咧? 還請不吝指教,謝謝喔 |
zaguan
一般會員 發表:11 回覆:18 積分:10 註冊:2002-03-31 發送簡訊給我 |
引言: 不好意思喔!小弟剛接觸有關於DELPHI在網路上面ㄉ設計, 所以不是很瞭解你寫ㄉ這段ㄉ意思,因為我連架構都不清楚該怎麼做! 我ㄉ想法是: 1. 寫一支程式在CLIENT端常駐,並定時向SERVER端發送訊息 (應該要發送什麼樣ㄉ訊息呢?) 2. 寫一支程式在SERVER端常駐,透過CLIENT端發送ㄉ訊息得知CLIENT端ㄉIP 不知道這樣ㄉ架構對不對? 如果是對ㄉ,請問一下上面寫ㄉ那段程式是用在哪裡咧? 還請不吝指教,謝謝喔 >>< face="Verdana, Arial, Helvetica"> 要發送什麼訊息是看你的目的嚕! 如果你只是要定時取得Client的IP, 你可以使用Delphi內建的Indy元件的IdTCPServer及IdTCPClient 當你的Client執行IdTCPClient1.Connect;(如果正確連結) Server會觸發OnConnect事件:procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread); begin //取得Client IP TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerIP; //接下來看你要不要傳訊息給Client,還是把他斷線也行 //...... end;你可以參考IndyDemo的程式裡的Chat範例! 應該會更有心得! 正面思考 正面思考~~ |
jaya
初階會員 發表:9 回覆:70 積分:30 註冊:2002-05-22 發送簡訊給我 |
如果只是想要知道Client端目前使用的真實IP(像是IP Share的IP Address)
提供最簡單的做法: Server端:寫個網頁,會提示 User 端的IP.以ASP為例,
Response.Write Request.ServerVariables("Remote_Addr")
Cilent端:用IE、NN 瀏灠該網頁時,就會出現IP位址了. 如果您要自己寫Client端的AP,就用nmHttp去抓下該網頁的內容.而該網頁的內容就是Client端的IP.nmHttp的用法請參考Delphi內附的範例程式. Server端實作範例: http://www.jaya.idv.tw/getmyip.asp
Client端實作範例:http://www.jaya.idv.tw/download/redirect.asp?fileid=27 如果您要自己寫Server及Client端的AP,請參考zaguan的做法.
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |