Pemrograman Jaringan : Program Chat Client & Server Sederhana

8:23 PM 0 Comments


KODE PROGRAM

import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci: ");
userInput = stdin.readLine();
os.writeBytes(userInput + "\n");
} catch (IOException ex) {
System.out.println("Error writing to server..." + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}
}

PENJELASAN PROGRAM

Terdapat sintaks import digunakan untuk memanggil package yang ada seperti io dan net. Baris program yang terdapat identifier public digunakan untuk mendefinisikan segala yang dibutuhkan pada class simpleclient. Mulai dari mendefinisikan class, method serta variable-variabel yang digunakan. Terdapat variable remote_port yang digunakan untuk menyimpan nilai yang digunakan alamat port. Baris program try pertama  digunakan untuk membuka koneksi ke server pada port remote. Variabel cl digunakan untuk menyimpan nama pc yang digunakan serta nomor port yang ingin digunakan. Baris program try yang kedua digunakan untuk memasukkan inputan agar diperiksa oleh server apakah sesuai atau tidak dengan yang diminta oleh server.

OUTPUT PROGRAM



KODE PROGRAM

import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println("Aplikasi Server hidup ...");
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println("Terima : " + line);
if (line.compareTo("salam") == 0) {
os.writeBytes("salam juga");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}

try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}

PENJELASAN PROGRAM

Blok listing yang selanjutya berfungsi untuk mendefinisikan kelas, method dan varibel-variabel yang digunakan untuk kelas simpleserver. Terdapat variable TESTPORT yang digunakan untuk mendefinisikan alamat port yang digunakan. Blok listing try pertama di atas digunakan untuk mengecek server dengan parameter yang digunakan adalah alamat port dari variable testport. Blok listing try kedua berikut digunakan untuk menerima alamat port dari client apakah port sesuai atau tidak.

OUTPUT PROGRAM
 



0 komentar:

Pemrograman Jaringan : Logika Program NsLookUp

5:19 PM 0 Comments


KODE PROGRAM

import java.net.*;
public class NsLookup {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java NsLookup <hostname>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
}
byte[] ip = address.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}
}


PENJELESAN PROGRAM

          Fungsi program diatas adalah mengubah host name menjadi alamat IP. Baris program yang pertama berfungsi untuk memanggil package yang digunakan adalah package net. Baris selanjutnya digunakan untuk mendefinsikan class yang digunakan, dan yang selanjutnya digunakan untuk membuat method utama. Selanjutnya dilakukan pengecekan kondisi dilakukan jika input tanpa menggunakan parameter atau jika menggunakan parameter dengan nama host. Jika menginput dengan parameter alamat maka akan menghasilkan nama alamat IP dari nama host yang diinput.
 

OUTPUT PROGRAM

 

0 komentar: