
31.03.2010, 13:42
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Сделал отправку прием UDP но что не работает:
Код:
procedure TForm1.Button1Click(Sender: TObject); //Отправляем текст (здесь все работает все отправляется)
var
ws:TWSAData;
UDP_sock:TSocket;
sockaddr_in:TSockAddrIn;
s:string;
begin
WsaStartup($202,ws);
s:=form1.Edit1.Text;
UDP_sock:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sockaddr_in.sin_family:=AF_INET;
sockaddr_in.sin_port:=htons(8765);
sockaddr_in.sin_addr.s_addr:=inet_addr('127.0.0.1');
if Connect(UDP_sock, sockaddr_in, SizeOf(sockaddr_in))<>0 then
begin
closesocket(UDP_sock);
exit;
end;
send(UDP_sock,s[1],length(Form1.Edit1.text),0);
closesocket(UDP_sock);
end;
procedure TForm1.Button2Click(Sender: TObject); //Открытие сокета на прием
var
ws:TWSAData;
sockaddr_in:TSockAddrIn;
s:string;
begin
WsaStartup($202,ws);
s:=form1.Edit1.Text;
UDP_sock2:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sockaddr_in.sin_family:=AF_INET;
sockaddr_in.sin_port:=htons(8765);
sockaddr_in.sin_addr.s_addr:=INADDR_ANY;
//Сюда надо что то поставить чтобы сокет принимал данные, но что???
form1.Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject); //Прием в memo1
var
tmp_buf:array[0..1024] of char;
begin
form1.Timer1.Enabled:=true;
recv(UDP_sock2,tmp_buf,1024,0);
form1.Memo1.Lines.Add(tmp_buf);
end;
end.
В чем проблема?
|
|
|