Kalau di post ini kita nyobanya pake Telnet, maka sekarang kita bikin client sederhana untuk berkomunikasi dengan server tersebut.
Kode servernya
package simpleserver;
import java.net.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
//Membuat Server Socket
ServerSocket serverSocket = null;
try {
//Mencoba untuk binding ke port 4444
serverSocket = new ServerSocket(4444);
} catch (IOException e) {
System.err.println("Could not listen on port: 4444.");
System.exit(1);
}
//Membuat client Socket
Socket clientSocket = null;
try {
//Mencoba menerima koneksi socket dari client
clientSocket = serverSocket.accept();
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
//Membuat stream input/output dari client socket
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
//Menampilkan string yang dikirim oleh client
System.out.println(in.readLine());
//Mengirimkan string "Hello!" ke client
out.println("Hello World, Client!");
//Menutup koneksi dan stream
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}
Pada server, untuk melakukan listening perlu class ServerSocket. Untuk menerima koneksi, instance perlu diinvokasi method acceptnya. Method ini akan melakukan blocking sampai terdapat koneksi dan akan mengembalikan sebuah instance dari class Socket. Sebuah socket akanĀ mengurusi koneksi antara satu komputer dengan komputer yang lain. Pada client pun kita menggunakan class Socket tersebut untuk berkomunikasi dengan server. Untuk streaming datanya terdapat method getInputStream dan getOutputStream yang dapat digunakan layaknya standard input output.
Berikut kodenya
package simpleclient;
import java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) throws IOException {
String IPdest = "127.0.0.1";
Integer Portdest = 4444;
//Menyiapkan socket dan streaming i/o
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
//Membuka koneksi
echoSocket = new Socket(IPdest, Portdest);
//Membuka stream I/O dari socket yang sudah dibuka
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(
echoSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Don't know about host: " + IPdest);
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for " + "the connection to: " + IPdest);
System.exit(1);
}
//Mengirimkan string ke server
out.println("Hello World, Server!");
//Menampilkan string yang dikirim oleh server
System.out.println(in.readLine());
//Menutup koneksi dan stream
out.close();
in.close();
echoSocket.close();
}
}
Hasil pengujian pada Netbeans.
Server
run: Hello World, Server! BUILD SUCCESSFUL (total time: 4 seconds)
Client
run: Hello World, Client! BUILD SUCCESSFUL (total time: 0 seconds)
Filed under: Dedicated, Easy, Java, Lecture, Network Programming, Snippets, Web Programming, tutorial , Programming, Netbeans, Network Programming, socket, Java, socket programming, Java SE



copy ah..
[...] Posts Java Socket Programming: Simple ClientSocket Programming di CManajemen MySQL dengan NetbeansSimple SCPDesign Pattern MVC Pada Pemrograman [...]
gan kok ini g mau,…
errornya di
Exception in thread “main” java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at client.Main.main(Main.java:53)
jadi kalo di program juragan bagian System.out.println(in.Readline);
bisa bantu juragan,…
juragan,..
ternyata mau,..
waduh malu juragan,…
hehehehe
kodingan nya salah gara2 saya bikin ulang,..
jadi saya koding ulang,…
sekalian latihan,…
lanjut gan
Thanks bgt bang.. Java Cool..