Anda di halaman 1dari 5

YugiMage@gmail.

com Seri Pemrograman Network Dasar


Setelah berpetualan di dunia DB walapun belum full alangkah baiknya kita coba-coba hijrah ke network programming. Pada tulisan kali ini hanya sedikit menjelaskan konsep client server di Delphi menggunkan komponen ServerSocket dan ClientSocket. Prinsip dasar penggunaan komponen ini adalah sebagai berikut : 1. Server dengan IP misal : 192.168.5.1, kemudian atur property ServerSocket dengan mengisikan nilai port menjadi 1024 ! setelah server aktif, maka 2. Langkah berikutnya ialah menunggu client dengan class ip yang sama kemudian menentukan IP server 192.168.5.1 melalui port yang sama, yaitu 1024. Aktifkan 3. Prinsipnya seperti itu, sehingga aplikasi kita dapat bersifat client server. Banyak yang dapat dikembangkan dari pemrograman internet, mulai dari chat kemudian billing warnet dan lain-lain yang bersifat client server. Untuk ilustrasi gambar tentang prinsip di atas sebagai berikut :

sebagai contoh mari kita buat aplikasi sederhana ! Install dulu komponen TserverSocket dan TserverClient (kalau pake Delphi 7) melalui menu component kemudian install packages, browse sumber dari : C:\Program Files\Borland\Delphi7\Bin\dclsockets70.bpl, add dan install komponen tersebut. Secara default akan bernaung di tab internet pada IDE Delphi anda.

YugiMage@gmail.com

Untuk percobaan kita bisa menggunakan pada jaringan localhost (192.168.1.1) yah kalau mau coba silahkan pake 2 komputer atau lebih. Buka project baru kemudian save dengan nama SERVER Pada form anda isikan beberapa komponen 1 ServerSocket, 1 Label, 1 ListBox dan 2 Button. Kemudian set atribut-atribut tersebut sehingga menyerupai bentuk form di bawah ini :

Ubah property port pada component ServerSocket1 = 1024, biarkan atribut active=false active kan component ServerSocket1 sewaktu event OnCreate pada form anda : OnCreate

YugiMage@gmail.com
ServerSocket1.Active:=true; mari kita tambahkan beberapa script pada event ServerSocket1 OnClientError : ErrorCode:=0; Ok, yang perlu diketahui disini bahwa respon dari server tergantung dari text yang dikirim oleh client (aturan command disini dibuat oleh pembuat program) aturan cmdReceive : 1. command dipisah dengan karakter at atau tanda @" 2. selebihkan adalah tambahan aturan disini dibuat menggunakan array dalam class TstringList. contoh : cmdReceive.text=CON@tomx maka : cmdReceive[0]=CON cmdReceive[1]=tomx artinya : client terkoneksi dengan nama user tomx jika cmdReceive.text=DSC@tomx maka : cmdReceive[0]=DSC cmdReceive[1]=tomx artinya : client terputus terkoneksi dengan nama user tomx catatan : aturan ini dibuat oleh programmer. Isikan script berikut : procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var cmdReceive: TStringList; begin cmdReceive:=TStringList.Create; cmdReceive.Delimiter:='@'; cmdReceive.DelimitedText:=Socket.ReceiveText; // ShowMessage(cmdReceive[0]+' '+cmdReceive[1]); if cmdReceive[0] = 'CON' then ListBox1.Items.Add(cmdReceive[1]) else if cmdReceive[0] = 'DSC' then //cari dan hapus user dari daftar client if SendMessage(ListBox1.Handle, lb_selectstring, -1, longint(PChar(cmdReceive[1])))<>LB_ERR then

YugiMage@gmail.com
ListBox1.Items.Delete(ListBox1.ItemIndex); end; save dan compile project server, kemudian buat project baru. Simpan dengan nama CLIENT. Pada client tambahkan komponen 1 ClientSocket, 1 EditText dan 2 Tombol. Atur property pada masing-masing komponen sehinggan bentuk nya sama seperti gambar berikut :

ubah property port pada component ClientSocket1 = 1024 dan address = 127.0.0.1, biarkan atribut active=false Kita ke event OnCreate pada form, kemudian isikan kode berikut : try ClientSocket1.Active:=true; except MessageDlg('Tidak dapat terkoneksi dengan server !',mtInformation,[mbOK],0); end; Event OnClick pada tombol connect : ClientSocket1.Socket.SendText('CON@'+Edit1.Text); Edit1.Enabled:=false; Button1.Enabled:=false; Button2.Enabled:=true; Event OnClick pada tombol connect : ClientSocket1.Socket.SendText('DSC@'+Edit1.Text); Edit1.Enabled:=not false; Button1.Enabled:=not false; Button2.Enabled:=not true; save dan compile program anda langkah terakhir adalah uji coba, dan berikut hasilnya (server dijalankan 1 kali, kemudian client 3 kali di eksekusi dengan nama client yang berbeda-beda)

YugiMage@gmail.com

kemudian tiap user melakukan disconnect secara random.

Anda mungkin juga menyukai