IP Komputermu ^^^ Browser pakek apa Lo dan OS-Mu^^^^

Minggu, 02 Oktober 2011

Socket programming

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.

Tidak ada komentar:

Posting Komentar