Praktikum 01 membahas socket programming menggunakan Indy (Internet Direct) dalam bahasa pemrograman Delphi. Tujuannya adalah mempelajari prinsip kerja socket programming dan membuat program client-server. Langkah-langkahnya meliputi membuat program client yang terhubung ke server, mengirim dan menerima pesan, serta program server untuk menerima koneksi dari client dan mengirim balasan.
1. Praktikum 01
Socket Programming - TCP
-INDY (Internet Direct)-
TUJUAN
1. Mahasiswamengetahui prinsipkerjadari pemrogramansocket
2. Mahasiswadapat membuatprogramuntukpemrogramansoket
DASARTEORI
Indyadalahkomponenopensource yangterdiri dari protocol internetyang sudahbegitupopular,
seperti HTTP, FTP , SMTP ,TCP , UDP ,Gopher,Whoisdan lain -lain, karenaopensource maka kita
dapat mempelajari semuakode programyangadauntuk dikembangkan.kemudahanyanglainadalah
indymendukungprotocol sampai 120 protokol,sebelumyaprotocol adalahaturanstandaratau
ketentuandalamkomunikasi jaringan,jadi dalamkomunikasi jaringansudahdibentukaturanbaku
dalamprosesdata .
ALAT dan BAHAN
1. BorlandDelphi 7.0
TUGAS DALAMANALISA
AnalisaProgramyangAndabuat!
LANGKAHPERCOBAAN
1. Akandibuatprogram telnetsederhanamenggunakanbahasapemogramanBorlandDelphi 7dan
komponenindyserver(IdTcpServer) danindyclient( IdTcpClient).
2. Digunakanduaform , yaituform serverdanform client
3. PertamaadalahForm Client
2. 4. Listingkoneksi ke server
procedure TForm1.Button1Click(Sender:TObject);
begin
WithIdtcpClient1do
Begin
Host:=edit1.text;//masukanipaddress
Port:= 3122;
connect;
end;
end;
5. Listingpemberitahuankoneksi
procedure TForm1.idTCPClient1Connected(Sender:TObject);
begin
memo1.Lines.Insert(0,'koneksiterhubungke server'+ edit1.Text);
memo1.lines.insert(0, IdTcpClient1.readln );
memo1.lines.insert(0, IdTcpClient1.readln );
//sebuahpesandi memoyangmenyatakan bahwaclienttelah//terhubungke erver
end;
6. Listingdisconnect
procedure TForm1.Button2Click(Sender:TObject);
begin
if idtcpclient1.Connectedthenidtcpclient1.Disconnect;
end;
7. SendPesan
procedure TForm1.Button3Click(Sender:TObject);
var pesan:string;
Begin
IdTcpClient1.Writeln(edit2.text);//pesanberasal dari inputuser
edit2.text:='';//mengkosongkanedit2supayadapatdi isi kembali
pesan:= IdTcpClient1.readln;
memo1.lines.insert(0,pesan);
end;
8. Form Server