Anda di halaman 1dari 4

Socket Programming Delphi

Socket programming adalah bagaimana cara menggunakan socket API ( Application Socket Programming ), untuk menghubungkan komunikasi antara proses remote dan local , programmer yang menggunakan ILE ( Integrated Language Environment) C dapat menggunakan informasi untuk mengembangkan aplikasi socket . Anda juga dapat menggunakan kode socket API dari bahasa ILE lainnya , seperti RPG . JAVA juga mendukung alat penghubung untuk socket programming Dan maksud dari API adalah sebuah library atau fungsi windows untuk mengeksekusi sebuah perintah yang ada di dalam semua tampilan windows , sebagai contoh untuk tampilan desktop ,screen saver ,shutdown computer dll Biasanya seorang programmer yang membuat program seperti berbasiskan protocol jaringan kita sebut dia adalah programmer winsock ( windows socket ). Winsock dapat didefinisikan dan di dokumentasikan oleh standar API untuk pemograman protocols jaringan . Umumnya digunakan untuk program TCP / IP , tetapi dapat juga digunakan untuk program novell ( IPX / SPX ) dan protocol jaringan lainnya . Winsock dapat digunakan untuk DLL ( Dynamic Link Library ) yang merupakan bagian dari Win32 . Cara kerja dari winsock adalah perpaduan antara IP Address dan port number , lalu apa yang dimaksud dengan IP Address . IP Address adalah sebuah alamat virtual pada setiap computer untuk mengirimkan data , contoh dalam kehidupan nyata adalah setiap kita mengirim surat kita harus menyertakan alamat pengirim dan alamat tujuan , jika tidak ada maka paket tidak bisa dikirim karena tidak jelas alamat pengirim dan alamat penerima . contoh alamat IP Address adalah 192.168.1.1 Lalu yang dimaksud dengan port number ,pada pelayanan jaringan di computer , port number dapat dikatakan sebagai identifikasi khusus untuk setiap proses, contoh jika anda menggunakan layanan internet seperti google .com anda telah menggunakan port number tertentu , yaitu port 80 Jadi windows socket adalah perpaduan IP Address dan port number , contoh anda mengakses http://www.google.com , kita misalkan google.com memiliki IP Address 66.25.12.25 , sama saja anda mengakses dengan http://www.google.com:80 atau http://66.25.12.25:80 atau untuk layanan chatting seperti MIRC menggunakan port :6666 jadi cara kerja untuk mengakses MIRC adalah alamatserver:portnumber contoh kita anggap IP Address untuk alamatserver chating misalkan DALNET adalah :121.122.204.12 maka prosesnya adalah 121.122.204.12:6666 Kembali ke topic utama kita adalah Indy ( Internet direct ) , indy digunakan untuk membuat aplikasi yang menggunakan protocol jaringan Indy ( Internet Direct ) Lalu apa indy itu ? indy adalah komponen open source yang terdiri dari protocol internet yang sudah begitu popular ,seperti HTTP , FTP , SMTP , TCP , UDP ,Gopher , Whois dan lain -lain ,

karena open source maka kita dapat mempelajari semua kode program yang ada untuk dikembangkan . kemudahan yang lain adalah indy mendukung protocol sampai 120 protokol , sebelumya protocol adalah aturan standar atau ketentuan dalam komunikasi jaringan , jadi dalam komunikasi jaringan sudah dibentuk aturan baku dalam proses data . Untuk pemograman indy dapat menggunakan bahasa pemograman seperti Borland Delphi , Borland C++ builder , Visual Studio.net, C# , dan untuk platform ( berbeda system operasi ) dapat digunakan pula di Linux , .Net Framework, dan Win32. Untuk selanjutnya penulis akan menjelaskan dengan membuat program telnet sederhana . penulis menggunakan bahasa pemograman Borland Delphi 7 dan komponen indy server ( IdTcpServer ) dan indy client ( IdTcpClient ) , penulis juga menggunakan dua form , yaitu form server dan form client . pertama adalah kita membuat perintah pada Form Client Aplikasi Client Pada Aplikasi Client dirancang untuk koneksi ke server , dibawah ini adalah baris untuk koneksi ke server Procedure Tmain Form.ButtonClick (Sender:TObject ); Begin With IdtcpClient1 do Begin Host:=edit1.text // masukan ip address Port:= 3122; connect; end; Untuk lebih memudahkan , maka pada saat client terhubung dengan server , di buat sebuah pesan ke client , untuk memastikan client terhubung dengan server , kode program tersebut dapat dilihat di bawah ini Procedure TForm1.TCPClient1Connected(Sender: TObject); Begin memo1.Lines.Insert(0,'koneksi terhubung ke server ' + edit1.Text); //sebuah pesan di memo yang menyatakan bahwa client telah //terhubung ke erver end; Dari baris diatas dapat dilihat pernyataan koneksi terhubung ke server edit1.text menyatakan nama IP Address server . Kita juga harus menutup koneksi ke server , apabila kita sudah tidak ingin menggunakan program tersebut dan ingin keluar , aplikasi client harus secara otomatis ( istilah computer disconnect ) dari server , baris perintah tersebut dapat dilihat pada kode program di bawah ini procedure TForm1.BitBtn1Click(Sender: TObject); begin

if tcpclient1.Connected then tcpclient1.Disconnect; end; Selanjutnya yang terpenting adalah komunikasi client dengan server , karena aplikasi ini adalah telnet sederhana , maka client hanya dapat mengirim pesan atau data ke server , untuk pengembangan ke hal yang lain seperti gambar ataupun suara dapat mengunjungi situsnya di Http://www.nevrona.com/indy , baris ini adalah pengiriman text dari client ke aplikasi server . Procedure Tmainform1.Buttonclick(Sender:Tobject ); Var pesan:string; Begin IdTcpClient1.Writeln(edit2.text); // pesan berasal dari input user edit2.text:= // mengkosongkan edit2 supaya dapat di isi kembali IdTcpClient1.readln(pesan); memo1.lines.insert(0,pesan); end; Aplikasi Server Setelah membuat aplikasi client ,saatnya di buat aplikasi server , untuk aplikasi server komponen yang diperlukan adalah IdTcpServer , yang digunakan untuk mengaktifkan server yang merupakan perpaduan antaa Ip Address dan port number . Penulis menggunakan port number 3122 , jadi jika aplikasi ini dijalankan , maka gabungan nya adalah IP Address server dan 3122, contoh IP Address yang digunakan : 127.0.0.1 dan port number yang digunakan 3122 , ini artinya adalah computer dengan alamat : 127.0.0.1 membuka layanan servis telnet dengan port number : 3122 Baris perintah untuk mengaktifkan server , terdapat pada baris dibawah ini Procedure Tform1.create ( Sender:TObject ) var Bindings: TIdSocketHandles; begin //setup and start TCPServer Bindings := TIdSocketHandles.Create(TCPServer); try with Bindings.Add do begin IP := 127.0.0.1; Port := 3122; end; Try IdTCPServer.Bindings := Bindings; IdTCPServer.Active := True; except on E:Exception do ShowMessage(E.Message); end;

finally Bindings.Free; end; //setup TCPServer Baris diatas akan mengaktifkan server telnet dengan membuka port 3122 , selanjutnya adalah saat ada koneksi atau hubungan dari client , maka server akan memberikan sebuah pernyataan atau ucapan selamat datang ke client, pernyataan tersebut dapat dibuat sesuka hati . contoh pernyataan selamat datang server . Procedure TForm1.IdtTpserver1Connect ( Athread :TIdPeerThread ) Begin With AThread.Connection do Begin Writeln ( Selamat Datang di Server Ku ); Writeln ( Percobaan dengan Komponen Indy ); Writeln( ========================= ); end; End; Selanjutnya adalah balasan server ketika ada pesan atau message dari client , untuk memastikan bahwa client mengirimkan data , kode programnya dapat dilihati dibawah ini Procedure Tform1.IdTcpServerExecute( Athread:TidPeerThread); Var Pesan:string; Begin While Athread.Connection.Connected do Begin Pesan:=athread.Connection.readln; //membaca data yang dikirim oleh Client , disimpan di //variable pesan //mengirimkan data ke client athreaad.connection.writeln( OK + pesan); end; end.

Anda mungkin juga menyukai