Показать сообщение отдельно

  #10  
Старый 31.03.2010, 13:42
НTL
Постоянный
Регистрация: 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.
В чем проблема?
 
Ответить с цитированием