Esa Novedieli Gulo (091051088)
Joaquina Duarte Freitas (091051039)
Client / Server Komunikasi menggunakan TCP / IP
Aliran TCP socket server aplikasi mendengarkan pada jaringan untuk paket permintaan klien masuk. Aliran TCP socket aplikasi klien memulai komunikasi dengan server dengan mengirimkan paket permintaan. Ketika server menerima permintaan, itu proses dan merespon. Setelah pertukaran pesan sequencing awal, klien dan server dapat saling bertukar data.
Langkah-langkah berikut terjadi ketika membangun koneksi TCP antara dua komputer menggunakan soket:
- Server instantiates objek ServerSocket, adalah yang menunjukkan nomor port komunikasi
- Server memanggil metode accept () dari kelas ServerSocket. Metode ini menunggu sampai klien terhubung ke server pada port diberikan
- Setelah server sedang menunggu, klien instantiates objek Socket, menentukan nama server dan nomor port untuk menyambung .
- Konstruktor dari kelas Socket mencoba untuk menghubungkan klien ke server tertentu dan nomor port. Jika komunikasi didirikan, klien sekarang memiliki objek Socket mampu berkomunikasi dengan server.
- Di sisi server, yang menerima () metode mengembalikan referensi ke soket baru pada server yang terhubung ke soket klien.
- Setelah koneksi ditetapkan, komunikasi dapat terjadi menggunakan I / O stream. Masing-masing memiliki soket baik OutputStream dan InputStream. OutputStream klien terhubung ke InputStream server, dan InputStream klien terhubung ke OutputStream server. TCP merupakan protokol komunikasi dua arah, sehingga data dapat dikirim di kedua jaringan pada waktu yang sama.
Gambar berikut menggambarkan langkah-langkah yang diperlukan untuk menerapkan client dan server menggunakan StreamSocket
Langkah-langkah untuk menerapkan Server ;
- Langkah 1 : Membuat objek socket server. Obyek ini digunakan untuk menghubungkan ke aplikasi menggunakan port.
ServerSocket s=new ServerSocket(int port, int queue length);
Nomor Port
Panjang antrian = jumlah maksimum klien yang dapat meminta server
- Langkah 2 : Menunggu permintaan dari klien. Hal ini dilaksanakan dengan menggunakan obyek Socket.
Socket ss=s.accept();
- Langkah 3 : Buat input dan output stream untuk menerima dan mengirim komunikasi ke klien masing-masing.
BufferedReader in = new BufferedReader(new InputStream (ss.getInputStream()));
BufferedReader - Untuk menerima komunikasi dari klien.
PrintWriter out = new PrintWriter(ss.getOutStream(),true);
PrintWriter - Untuk pengiriman komunikasi ke klien
- Langkah 4 : Server dan client berkomunikasi dengan menggunakan benda-benda masuk dan keluar.
out.println(message);
Message = (String)in.readLine();
- Langkah 5 : Ketika komunikasi lebih menutup semua objects.Server menciptakan input, output dan soket dan berkomunikasi klien menggunakan benda-benda masuk dan keluar.
in.close();
out.close();
ss.close();
Langkah-langkah untuk mengimplementasikan klien menggunakan StreamSocket ;- Langkah 1 : Buat objek soket klien untuk menghubungkan klien dengan server. objek digunakan untuk menghubungkan ke aplikasi server menggunakan port.
Socket cs=new Socket(InetAddress, int port);
Port-nomor port
Alamat-alamat server.
Alamat-alamat server.
- Langkah 2 : Buat input dan output stream untuk menerima dan mengirim komunikasi ke klien masing-masing.
BufferedReader in = new BufferedReader(new InputStream (cs.getInputStream()));
BufferedReader - Untuk menerima komunikasi dari klien.
PrintWriter out = new PrintWriter(cs.getOutStream(),true);
PrintWriter - Untuk pengiriman komunikasi ke klien
- Langkah 3: Server dan client berkomunikasi dengan menggunakan benda-benda masuk dan keluar.
out.println(message);
Message = (String)in.readLine();
- Langkah 4: Bila komunikasi lebih dekat semua diciptakan input, output dan soket objek.
in.close();
out.close();
cs.close();
Gambar berikut menunjukkan komunikasi clinet Server menggunakan Socket Streaming ;
Program chatting menggunakan TCP / IP
Program berikut membuat aplikasi chat client / server. Komunikasi berlanjut sampai klien mengirimkan pesan Bye ke server.
Server Program:
- import java.io.*;
import java.net.*;
public class server
{
public static void main(String a[])throws IOException
{
try
{
ServerSocket s=new ServerSocket(95);
System.out.println("Server Waiting For The Client");
Socket cs=s.accept();
InetAddress ia=cs.getInetAddress();
String cli=ia.getHostAddress();
System.out.println("Connected to the client with IP:"+cli);
BufferedReader in=new BufferedReader(new
InputStreamReader(cs.getInputStream()));
PrintWriter out=new PrintWriter(cs.getOutputStream(),true);
do
{
BufferedReader din=new BufferedReader(new
InputStreamReader(System.in));
System.out.print("To Client:");
String tocl=din.readLine();
out.println(tocl);
String st=in.readLine();
if(st.equalsIgnoreCase("Bye")||st==null)break;
System.out.println("From Client:"+st);
}while(true);
in.close();
out.close();
cs.close();
}
catch(IOException e) { }
}
}
client Program:
import java.io.*;
import java.net.*;
public class Client
{
public static void main(String a[])throws IOException
{
try
{
Socket con=new Socket("localHost",95);
BufferedReader in=new BufferedReader(new
InputStreamReader(con.getInputStream()));
PrintWriter out=new PrintWriter(con.getOutputStream(),true);
while(true)
{
String s1=in.readLine();
System.out.println("From Server:"+s1);
System.out.print("Enter the messages to the server:");
BufferedReader din=new BufferedReader(new
InputStreamReader(System.in));
String st=din.readLine();
out.println(st);
if(st.equalsIgnoreCase("Bye")||st==null)break;
}
in.close();
out.close();
con.close();
}
catch(UnknownHostException e){ }
}
}Contoh Gambar hasil Dari Run Program diatas ;
SEKIAN DAN TERIMAKASIH









