關於UdpSocket Receive的問題 |
尚未結案
|
Achillis
一般會員 發表:1 回覆:0 積分:0 註冊:2004-05-07 發送簡訊給我 |
小弟最近剛開始接觸網際網路的東西
所以對Udp元件還不是很熟悉 希望大大們能夠幫幫忙~讓小弟能完成這簡單任務 以下是小弟的程式碼@@ [code delphi] ///////////UdpSocket Open procedure TForm1.Button1Click(Sender: TObject); var iGetError :Integer; begin UdpSocket1.RemoteHost:='192.168.0.119'; UdpSocket1.LocalHost:='192.168.0.124'; UdpSocket1.LocalPort:='5001'; //設定本機Port number UdpSocket1.RemotePort:='502'; //設定遠端主機Port number UdpSocket1.Open; iGetError := System.GetLastError; MessageBox(0, PChar(IntToStr(iGetError)), 'Before open', 0); MessageBox(0, 'UdpSocket Open.', 'error', 0); UdpSocket1.Active := True; 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,''); MessageBox(0, 'UdpSocket Connect.', 'error', 0); 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); MessageBox(0, 'UdpSocket Recevice.', 'error', 0); end; //////UdpSocket Close procedure TForm1.Button2Click(Sender: TObject); begin UdpSocket1.Active := False; UdpSocket1.Close; MessageBox(0, 'UdpSocket Close.', 'error', 0); end; //////UdpSocket Send Message procedure TForm1.Button4Click(Sender: TObject); var Buf :string; Recaddr : sockaddr_in; DataLen :Integer; iGetError :Integer; begin Recaddr.sin_family := AF_INET; Recaddr.sin_port := htons(StrToInt('502')); Recaddr.sin_addr.S_addr := inet_addr(PChar('192.168.0.124')); Buf := 'Hello World!'; DataLen := Length(Buf); UdpSocket1.SendBuf(Buf, DataLen); UdpSocket1.SendTo(Buf, DataLen, Recaddr); iGetError := System.GetLastError; MessageBox(0, PChar(IntToStr(iGetError)), 'error', 0); end; [/code] 目前遇到的問題是 在UdpSocket.Open以及 UdpSocket.Sendto之後 都加了GetLastError進去看~回傳值都是0 表示open或是sendto都有成功才是 但是在DEBUG模式的時候~卻偏偏進不了Receive function內 所以我老是接收不到資料~~請問一下這是為什麼呢?? 小弟是不是有哪些事情沒有作對呀?? 還請各位大大們幫忙小弟一下^^ 謝謝 |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
如果你是剛剛才接觸Socket方面的東西,
建議你先去熟悉現有元件, 如 Indy, 試著 在程式中架構資料傳輸. 以下連結是之前分享的主題, 你可以參考一下喔... http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=90517 ===================引 用 Achillis 文 章=================== 小弟最近剛開始接觸網際網路的東西 所以對Udp元件還不是很熟悉 希望大大們能夠幫幫忙~讓小弟能完成這簡單任務 以下是小弟的程式碼@@ |
bruce_59714
一般會員 發表:3 回覆:19 積分:9 註冊:2006-07-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |