I don't see anything obviously wrong. -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be
----- Original Message ----- From: "Jack" <[EMAIL PROTECTED]> To: "ICS support mailing" <twsocket@elists.org> Sent: Wednesday, May 03, 2006 12:52 AM Subject: [twsocket] UDP SendTo() sends two packets? >I have the code to listen on a UDP port when the first button > is clicked, and send a packet when the second button is clicked. > It works fine except when the second button is clicked, it sends > two packets (I captured that with Ethereal.) Is there anything > I'm not doing right? > > -- > Best regards, > Jack > > > unit Unit1; > > interface > > uses > Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, > Forms, > Dialogs, StdCtrls, WinSock, WSocket; > > type > TForm1 = class(TForm) > WSocket1: TWSocket; > Memo1: TMemo; > Label1: TLabel; > Label2: TLabel; > btnSend: TButton; > edtDstIP: TEdit; > edtSvrPort: TEdit; > btnListen: TButton; > edtPort: TEdit; > procedure WSocket1DataAvailable(Sender: TObject; ErrCode: Word); > procedure btnSendClick(Sender: TObject); > procedure btnListenClick(Sender: TObject); > private > { Private declarations } > public > { Public declarations } > end; > > var > Form1: TForm1; > > implementation > > {$R *.dfm} > > procedure TForm1.btnListenClick(Sender: TObject); > begin > WSocket1.Proto := 'udp'; > WSocket1.Port := edtSvrPort.Text; > WSocket1.Addr := '0.0.0.0'; > WSocket1.Listen; > btnListen.Enabled := False; > end; > > procedure TForm1.btnSendClick(Sender: TObject); > var Src: TSockAddrIn; SrcLen: Integer; > begin > Src.sin_family := AF_INET; > Src.sin_addr.S_addr := inet_addr(PChar(edtDstIp.Text)); > Src.sin_port := hToNs(StrToInt(edtPort.Text)); > SrcLen := SizeOf(Src); > WSocket1.SendTo(Src, SrcLen, PChar('Hello'), 5); > end; > > procedure TForm1.WSocket1DataAvailable(Sender: TObject; ErrCode: Word); > begin > if ErrCode = 0 then Memo1.Lines.Add(WSocket1.ReceiveStr) > else Memo1.Lines.Add('WSocket1DataAvailable() error = ' + > IntToStr(ErrCode)); > end; > > end. > > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be