Halaman

Iklan Google

6 Agustus 2012

Java Socket: Aplikasi Server Client Sederhana

Kebetulan kemaren ngoprek dasarnya java socket, jadi sederhana saja, disini saya mencoba membuat aplikasi java socket client server, dimana server akan mengembalikan tulisan yang dikirim dari client. langsung saja kita lihat kode servernya.

SimpleServer.java


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class SimpleServer {
public static void main(String[] args) {
ServerSocket server = null;
try {
server = new ServerSocket(8888);
} catch (IOException e) {
e.printStackTrace();
}
if (server == null)
System.exit(1);

try {
Socket client = server.accept();
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
BufferedReader br = new BufferedReader(new InputStreamReader(
client.getInputStream()));
String input;
while ((input = br.readLine()) != null) {
out.println("echo:" + input);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

untuk kode diatas berfungsi untuk memproses inputan dari user dan mengembalikan pesan ke user melalui kode out.pringln("echo"+input);


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class SimpleClient {
public static void main(String[] args) {
Socket socket = null;
PrintWriter out = null;
BufferedReader br = null;
try {
socket = new Socket("localhost", 8888);
out = new PrintWriter(socket.getOutputStream(), true);
br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

BufferedReader stdIn = new BufferedReader(new InputStreamReader(
System.in));
String input;
try {
while ((input = stdIn.readLine()) != null) {
out.println(input);
System.out.println(br.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

kode diatas merupakan kode aplikasi client yang akan melakukan koneksi ke server. yang diawali oleh


socket=new Socket("localhost",8888);

bertujuan untuk inisialisasi socket yang akan menghubungi server di localhost dengan port 8888

setelah terjadi koneksi, aplikasi klien siap untuk menerima inputan melalui kode dibawah ini.


BufferedReader stdIn=new BufferedReader(new InputStreamReader(System.in));
String input;
try {
while((input=stdIn.readLine())!=null){
out.println(input);
System.out.println(br.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}

saat client mengrimkan inputan text, maka server akan menjawab dengan dengan penambahan text "echo:".

aplikasi diatas hanya menerima satu client saja, agar server dapat menerima banyak client maka, bisa menggunakan multithread, jadi ketika server melakukan server.accpet(), bisa ditambahkan kedalam thread, misalnya.


while(true){
new SomeConnectionThread(server.accept()).start();
}

begitulah kira-kira, aplikasi yang saya buat melihat referensi dari : http://docs.oracle.com/javase/tutorial/networking/sockets/index.html

untuk source code bisa diunduh di : https://github.com/faitz/FaiSimpleJavaSocket

Semoga bermanfaat:

~faitz~

12 Maret 2012

SyntaxHighlighter: Membuat Tulisan Syntax Pada Blog Menjadi Indah

SyntaxHighlighter is a fully functional self-contained code syntax highlighter developed in JavaScript
Begitulah yang tertulis pada situs SyntaxHighlighter. SyntaxHighlighter memiliki fungsi untuk membuat kode yang ditulis pada web anda menjadi berwarna dan diformat otomatis. dan juga support banyak bahasa pemrograman, contohnya: java, javascript, php, dll.
untuk info lebih lanjut bisa dilihat pada situsnya.

Sekarang kita coba bagaimana hasilnya.
contoh(sintak menggunakan java) tanpa SyntaxHighlighter:

package com.faisalabdillah.hello;
public class HelloWorld{
   private static void main(String[] args){
      System.out.println("Hello World");
   }
}

contoh menggunakan SyntaxHighlighter:

package com.faisalabdillah.hello;
public class HelloWorld{
     private static void main(String[] args){
          System.out.println("Hello World");
     }
}

lumayan buat bikin blog tutorial programing. Untuk konfigurasi dan contoh penggunaannya bisa liat di situs SyntaxHighlighter atau disini.
Selamat mencoba



~Muhamad Faisal Abdillah~