使用indy的udp,你可以客户端和服务端都使用UDPServer.我这样在系统中使用过,很方便的.
这个是客户端和服务端都使用 IdUDPServer1.SendBuffer(Edit3.text,strtoint(Edit4.text),s[1],length(s));进行数据发送.
数据接收都这样,
procedure TForm1.IdUDPServer1UDPRead(Sender:TObject; AData:TStream;
ABinding:TIdSocketHandle);
var
DataStringStream:TStringStream;
s:string;
begin
DataStringStream:=TStringStream.Create('');
try
DataStringStream.CopyFrom(AData,AData.Size);
Memo1.Lines.Add('收到:'+ABinding.PeerIP+':'+inttostr(ABinding.PeerPort)+' 信息:'+DataStringStream.DataString);
finally
DataStringStream.Free;
end;
end;