В данном посте напишем простейший UDP чат c помощью компонентов Indy. Я оттолкнулся от примера М.Фленова из книги “Delphi глазами хакера”. Но, кое-где пришлось поправить код, потому что часть функций изменилась с тех времен (2003 г. – выпуск книги). Данный пример протестирован на Delphi XE7.
Какие компоненты нужны?
Также нужно настроить компоненты… у клиента – Host, Port и Broadcast Enabled, также Active=true
У сервера… Default Port и Broadcast Enabled, Active=true
Какой код нужен для реализации?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
procedure TForm1.Button1Click(Sender: TObject); begin idUDPClient1.Send('elGringo '+edit1.Text); end; procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle); var s:string; begin s:=''; s:=bytestostring(AData); //вывод... memo1.Lines.Add(Abinding.PeerIP+' '+s); end; |