Pengenalan Network Programming (Port & Client Server)
Pengenalan Network ProgrammingPort & Client Server
Assalamu'alaikum wr wb
Hai teman-teman!
Kali ini saya akan mengenalkan materi network programming. Tanpa basa basi langsung saja saya jelaskan.
Network programming atau dengan sebutan lain socket programming merupakan proses untuk membuat aplikasi yang mampu untuk berkomunikasi berbasis client server. Java Socket programming sendiri digunakan untuk komunikasi antar banyak aplikasi yang berjalan pada JRE yang berbeda. Pada prinsipnya untuk pemrograman dapat mengikuti socket programming membutuhkan 2 (dua) hal yang penting yang harus diketahui yakni :
- Alamat IP dari server
- Nomor port
Dengan mengetahui kedua hal tersebut, selanjutnya kita akan melihat bagaimana aplikasi client server searaha dimana client mengirim pesan, dan server menerima kemudian server menerima dan menampilkan ke monitor. Berikut adalah 2 (dua) kelas menggunakan Socket dan ServerSocket.
Class Socket digunakan untuk berkomunikasi antara client dan server. Dimulai dari class ini, kita akan memebaca dan menulis pesan. Sedangkan class ServerSocket digunakan pada sisi server. Method accept() pada class ServerSocket akan menunggu hingga client terhubung. Setelah client sukses terhubung, kemudian akan memberikan nilai balikan instan dari Socket pada sisi server.
Class ServerSocket dapat digunakan untuk membuat socket server. Objek ini dapat secara stabil berkomunikasi dengan banyak client.
Berikut Source code-nya
Class MyServer
Penjelasan :- import java.io.*; merupakan perintah Input Output. Input merupakan perintah untuk memasukan data dari peralatan input , sedangkan output merupakan perintah atau berfungsi menampilkan data kepada pengguna.
- import java.net.*; Merupakan perintah Program Java berisi kelas-kelas yang memperbolehkan program berkomunikasi melewati jaringan.
- public class MyServer adalah nama class, yang diberi nama MuServer
- public static void main(String[] args) adalah perintah main atau utama untuk menjalankan java.
- try adalah Statement tersebut digunakan untuk mengurung eksekusi yang menampilkan error dan dapat membuat program tetap berjalan tanpa dihentikan secara langsung.
- ServerSocket ss=new ServerSocket(6666); dan Socket s=ss.accept(); adalah perintah membuat instan dari class ServerSocket, selanjutnya server aktif dengan socket 6666 dan selanjutnya menunggu client untuk terhubung dengan server.
- DataInputStream dis=new; dan DataInputStream(s.getInputStream()); Ini digunakan oleh server untuk membaca data dari class MyClient dari class MyServer yang mengembalikan objek kelas InputStream.
- String str=(String)dis.readUTF(); membaca data dengan encoding UTF-8 dengan tipe data String
- System.out.println("message= "+str); untuk menampilkan pesan di class MyClient.
- ss.close(); untuk memutus server socket.
- catch(Exception e){System.out.println(e); Statement tersebut digunakan untuk mengurung eksekusi yang menampilkan error dan dapat membuat program tetap berjalan tanpa dihentikan secara langsung.
Class MyClient
- import java.io.*; merupakan perintah Input Output. Input merupakan perintah untuk memasukan data dari peralatan input , sedangkan output merupakan perintah atau berfungsi menampilkan data kepada pengguna.
- import java.net.*; Merupakan perintah Program Java berisi kelas-kelas yang memperbolehkan program berkomunikasi melewati jaringan.
- public class MyClient adalah nama class, yang diberi nama MyClient
- public static void main(String[] args) adalah perintah main atau utama untuk menjalankan java.
- try adalah Statement tersebut digunakan untuk mengurung eksekusi yang menampilkan error dan dapat membuat program tetap berjalan tanpa dihentikan secara langsung.
- Socket s=new Socket("localhost",6666); membuat instant dari class Socket. Disini kita memerlukan IP address atau nama host dari server dan nomor port yang diaktifkan oleh server.
- DataOutputStream dout=new dan DataOutputStream(s.getOutputStream()); digunakan untuk menulis data dari program klien ke program MyServer dan dari program server ke program MyClient, yang mengembalikan objek kelas OutputStream.
- dout.writeUTF("Hello Server"); adalah pesan yang akan tampil jika MyServer terhubung dengan MyClient
- dout.flush(); untuk mengosongkan buffer dan mengirimkan hasilnya ke media fisik.
- dout.close(); untuk menutup objek dout.
- s.close(); untuk memutus server socket.
- catch(Exception e){System.out.println(e); Statement tersebut digunakan untuk mengurung eksekusi yang menampilkan error dan dapat membuat program tetap berjalan tanpa dihentikan secara langsung.
Output MyServer & MyClient
Class GetName
Source code diatas digunakan untuk mengetahui nama dari komputer yang kita gunakan.
Penjelasan :
- import java.net.*; Merupakan perintah Program Java berisi kelas-kelas yang memperbolehkan program berkomunikasi melewati jaringan.
- public class GetName adalah nama class, yang diberi nama GetName.
- public static void main(String[] args) adalah perintah main atau utama untuk menjalankan java.
- InetAddress host = null ; digunakan untuk mendeklarasikan InetAddress terhadap objek host yang memiliki nilai awal null.
- host = InetAddress.getLocalHost(); syntax ini menyatakan bahwa objek host di beri nilai yaitu InetAddress.getLocalHost() .
- System.out.println("Nama komputer Anda :" digunakan untuk menampilkan nama komputer
- host.getHostName()); memanggil method getAddress pada objek host yang telah di deklarasikan tadi. Lalu dibuat perulangan untuk mencetak ip address komputer tersebut.
Output Program GetName
Class IptoName
Program di atas digunakan untuk mengetahui nama komputer dari ip address.
Penjelasan :
- import java.net.*; Merupakan perintah Program Java berisi kelas-kelas yang memperbolehkan program berkomunikasi melewati jaringan.
- public class IptoName adalah nama class, yang diberi nama GetName.
- public static void main(String[] args) adalah perintah main atau utama untuk menjalankan java.
- if (args.length == 0) di dalam class tersebut akan mengeksekusi percabangan berdasarkan panjang string host yang bernilai 0.
- System.out.println("Pemakaian : java IPtoName <ipaddress>"); perintah yang akan dieksekusi jika percabangan berdasarkan panjang string host yang bernilai 0. Jika kondisi benar maka akan mencetak nama pemakai dan IPtoName, namun jika salah maka program akan kembali ke semula.
- System.exit(0); perintah untuk keluar dari program
- String host = args[0]; dan InetAddress address = null; mendeklarasikan string host bernilai 0 dan InetAddress.
- try{ address = InetAddress.getByName(host); } mengeksekusi perintah try untuk mengecek kesalahan, jika tidak ditemukan kesalahan maka akan mencetak nama komputer user.
- catch(UnknownHostException e){System.out.println("invalid IP"); System.exit(0); Jika terdapat kesalahan pada program maka akan mencetak Invalid IP – malformed IP dan akan keluar dari program .
- System.out.println(address.getHostName()); memanggil method getAddress pada objek address yang telah di deklarasikan tadi. Lalu dibuat perulangan untuk mencetak ip address komputer tersebut.
Cara mengecek Ip Address
- Klik icon wifi
- Tekan Properties di jaringan yang terhubung dengan komputer kita
- IPv4 address adalah alamat IP komputer kita yang terhubung ke jaringan
Output program IptoName
Wassalamu'alaikum Wr Wb









Komentar
Posting Komentar