線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1962
推到 Plurk!
推到 Facebook!

請問UDP元件之Local Port設定

尚未結案
wct
一般會員


發表:5
回覆:17
積分:4
註冊:2002-06-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-19 14:50:29 IP:139.223.xxx.xxx 未訂閱
請問各位先進: 我用Delphi 7 於Win2000上使用UdpSocket收送資料,遠端主機(192.168.1.22:502)可以收到 本機(192.168.1.21)所送之資料,並回傳,但本機(port 5001)卻收不到,我用Protocal Analyzer 抓到遠端主機(192.168.1.22:502)所回的port並非port 5001,且每次Close 再 open後port number 會不一樣,且遞增1,很顯然地,本機所送出之port number並非我預設之5001; 請問是哪一個地方有問題?? 程式碼如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Sockets; type TForm1 = class(TForm) UdpSocket1: TUdpSocket; Button1: TButton; Memo1: TMemo; Memo2: TMemo; Edit1: TEdit; Button2: TButton; procedure Button1Click(Sender: TObject); procedure UdpSocket1Connect(Sender: TObject); procedure UdpSocket1Receive(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin UdpSocket1.RemoteHost:='192.168.1.21'; UdpSocket1.LocalHost:='192.168.1.22'; UdpSocket1.LocalPort:='5001'; //設定本機Port number UdpSocket1.RemotePort:='502'; //設定遠端主機Port number UdpSocket1.Open; end; procedure TForm1.UdpSocket1Connect(Sender: TObject); var s:string; begin //UdpSocket1.LocalPort:='5001'; s:=char(00) char(00) char(00) char(00) char(00) char(06) char(00) char(02) char(00) char(00) char(00) char(04); UdpSocket1.Sendln(s,''); end; procedure TForm1.UdpSocket1Receive(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer);//此部份未觸發 var ss:string; begin ss:=UdpSocket1.Receiveln; edit1.text:=IntToStr(Length(ss)); memo2.Lines.Add(ss); end; procedure TForm1.Button2Click(Sender: TObject); begin UdpSocket1.Close; end; end. 謝謝! wct
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-21 10:20:29 IP:61.155.xxx.xxx 未訂閱
这说明您的发送数据到远程主机的之间对应的IP与端口是对的; 但您没有接受到回音,有可能是: 1.远程主机没有响应 2.远程主机发送的信息到您机器的IP或PORT有一个不对    小弟浅见,供参考!    风花雪月 e梦情缘
------
风花雪月 e梦情缘
wct
一般會員


發表:5
回覆:17
積分:4
註冊:2002-06-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-21 12:39:10 IP:139.223.xxx.xxx 未訂閱
感謝wnhoo的回應: 1.遠程主机確實有有响应(因為我從Analyzer上監測到遠程主机192.168.1.21, Port 502 每次都有回應 給我192.168.1.22, port:每次不一樣, 但封包內容均是正確的),因此,我確定遠程主机做了他該做的事情,問題好像是 我的電腦之UDP Port並不受到UdpSocket1.LocalPort:='5001';之控制,而自己產生一個port number 給此socket; 2.我要用甚麼方式才能正確地收到192.168.1.21, Port 502回應給我的資料; 不勝感激! wct
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-21 16:00:59 IP:61.155.xxx.xxx 未訂閱
wct兄: 我用UdpSocket也出现同样的情况,但是用NMUDP1就可以正常的接受了。 我也不清楚这是什么原因,见谅!!!    我建议您使用NMUDP    风花雪月 e梦情缘
------
风花雪月 e梦情缘
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-21 16:01:31 IP:61.155.xxx.xxx 未訂閱
wct兄: 我用UdpSocket也出现同样的情况,但是用NMUDP1就可以正常的接受了。 我也不清楚这是什么原因,见谅!!!    我建议您使用NMUDP或D7的TCPSocket    风花雪月 e梦情缘
------
风花雪月 e梦情缘
wct
一般會員


發表:5
回覆:17
積分:4
註冊:2002-06-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-22 11:33:15 IP:61.220.xxx.xxx 未訂閱
感謝wnhoo: 我試了Delphi 5 之NMUDP元件,確實可以正常收送! 我的疑惑是:為什麼Delphi 7 之UdpSocket元件不行,原因為何?有人知道嗎? 另外,若要在Delphi 7使用Delphi 5 之NMUDP元件,要如何做? 書到用時方恨少! wct
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-24 08:06:39 IP:61.155.xxx.xxx 未訂閱
参见:    http://delphi.ktop.com.tw/topic.php?topic_id=14255    风花雪月 e梦情缘
------
风花雪月 e梦情缘
wct
一般會員


發表:5
回覆:17
積分:4
註冊:2002-06-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-25 15:18:17 IP:61.229.xxx.xxx 未訂閱
這不是For Delphi 3 的嗎? wct
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-25 15:26:22 IP:61.155.xxx.xxx 未訂閱
wct:    您可以参考这个源码的实现方法的!!!!    风花雪月 e梦情缘
------
风花雪月 e梦情缘
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-04-26 13:52:42 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-01 20:14:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!