-
почему не работает,хотя компелируется,но не отправляет
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer, IdSocketHandle, Sockets; {Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Sockets;}
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Label4: TLabel; UdpSocket1: TUdpSocket; Button2: TButton; Memo1: TMemo; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure UDPServerUDPRead(AThread: TIdUDPListenerThread; ABinding: TIdSocketHandle); procedure UdpSocket1Receive(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer); procedure UdpSocket1Connect(Sender: TObject); procedure UdpSocket1Error(Sender: TObject; SocketError: Integer); procedure UdpSocket1Send(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer);
private { Private declarations } public { Public declarations }
end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var ByteW : array [0..4] of Byte;
begin
application.ProcessMessages; WaitForSingleObject(Handle, 10);
ByteW[0]:=255; ByteW[1]:=255; ByteW[2]:=240; UdpSocket1.SendBuf(ByteW,sizeof(ByteW)) ;
end;
procedure TForm1.Button2Click(Sender: TObject); begin UdpSocket1.LocalHost:='192.168.0.99'; UdpSocket1.LocalPort:='5826'; UdpSocket1.RemoteHost:='192.168.0.99'; UdpSocket1.RemotePort:='5826';
UdpSocket1.Open; UdpSocket1.Connect;
end;
procedure TForm1.UDPServerUDPRead(AThread: TIdUDPListenerThread; ABinding: TIdSocketHandle); var ByteW :array[0..4] of byte; begin UdpSocket1.ReceiveBuf(ByteW,sizeof(ByteW)); Memo1.Lines.Add(inttostr(ByteW[0])); Memo1.Lines.Add(inttostr(ByteW[1])); Memo1.Lines.Add(inttostr(ByteW[2]));
end;
procedure TForm1.UdpSocket1Receive(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer);
begin Memo1.Lines.Add(UdpSocket1.Receiveln()); {Memo1.Lines.Add(inttostr(Buf[0])); Memo1.Lines.Add(inttostr(Buf[1])); Memo1.Lines.Add(inttostr(Buf[2])); } end;
procedure TForm1.UdpSocket1Connect(Sender: TObject); begin Memo1.Lines.Add('connect'); end;
procedure TForm1.UdpSocket1Error(Sender: TObject; SocketError: Integer); begin Memo1.Lines.Add('error'); end;
procedure TForm1.UdpSocket1Send(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer); begin Memo1.Lines.Add('send'); end;
end.
-
Какой компонент принимает пакеты? непохоже, что обработчик UDPServerUDPRead к чему-то привязан.
-
Да, обработчик UDPServerUDPRead остался со старого кода ещё.Не знаю какой принемает , вот поэтому написал,первый раз с этим работаю,не знаю что к чему,может подскажешь,обьяснишь чего е хватает,и как мне правильно сделать
-
-
Задача состоит чтобы передать 3 разных числа по udp протоколу другому копьютеру,а затем вывести в эту же прогу то что передалось
-
вот это я пробывал сделать в коде
-
вот это я пробывал сделать в коде
|