Aplikasi ini mempunyai 5 kelas yang harus ada untuk dapat berfungsi dengan benar.
The 6 kelas adalah:
- ChatMessage.java
- Server.java
- Client.java
- ServerGUI.java
-ClientGUI.java
- CreateTextFile.java
Karena kita akan menjalankan aplikasi ini di command prompt maka kita hanya membutuh kan 4 kelas saja, yaitu ChatMessage.java, Server.java, Client.java, dan CreateTextFile.java.
Ketika Anda menjalankan koneksi melalui TCP, sebenarnya hanya seri dari byte yang dikirim melalui kawat..
Ketika aplikasi ini dijalankan di dua komputer yang berbeda, aplikasi ini akan mengirim Obyek Java antara dua aplikasi. Sebenarnya masih akan ada sebuah aliran byte yang akan dikirim melalui internet tetapi Java akan melakukan serializing dan deserializing objek Java tersebut.
Obyek yang dikirim dari soket harus mengimplementasikan Serializable.
Dalam aplikasi ini, semua pesan yang dikirim dari Server ke Client adalah obyek String. Semua pesan yang dikirim dari klien ke Server adalah obyek ChatMessage. ChatMessage memiliki tipe dan String yang berisi pesan yang sebenarnya.
Kelas ini mendefinisikan berbagai jenis pesan yang akan dipertukarkan antara Client dan Server. Ketika berbicara dari Client Java ke Server Java jauh lebih mudah untuk mengirimkan objek Java, tidak perlu untuk menghitung byte atau menunggu untuk pindah baris pada akhir frame.
Kita dapat memulai Server dengan mengetikkan “Java Server” pada command prompt. Aplikasi akan mengeksekusi dalam mode konsol dan server akan menunggu koneksi pada port 1500. Untuk menggunakan port lain masukkan nomor port yang akan digunakan sebagai parameter pertama untuk perintah, contoh “Java Server 1200” Aplikasi akan meminta Server untuk mendengarkan pada port 1200. Kita dapat menggunakan CTRL+C untuk menghentikan server.
Setelah Server dimulai Anda dapat memulai Klien dengan mengetikkan “Java Client”pada konsol. Itu akan memulai Klien dengan username Anonymous pada localhost menggunakan port 1500. Jadi perintah setara diatas dengan ”Java Client Anonymous 1500 localhost”
Kita dapat menentukan beberapa parameter saat menjalankan kelas Client, contoh:
- Java Client Me ==> java Client Me 1500 localhost
-Java Client Me 1200 ==> java Client Me 1200 localhost
-Java Client Me 1200 12.14.13.14 ==> java Client Me 1.200 12.14.13.14
Setelah Klien dimulai dalam mode konsol Kita juga dapat memasukkan:
- LOGOUT, untuk logout dan menutup koneksi
- WHOISIN, untuk menerima daftar dari pengguna yang sedang terhubung ke server
- Selain di atas adalah sebuah pesan yang akan disiarkan, dengan username Anda, untuk semua Klien yang ada.
Kelas CreateTextFile
Kelas ini berguna untuk menyimpan data percakapan yang dikirimkan loeh klien ke server. Datapercakapan tersebut disimpan ke dalam file berformat .txt. File tersebut disimpan dilokasi atau di komputer mana server dijalankan, dengan nama "pesan.txt".
-Source code CreateTextFile.java
-Source code untuk untuk menyimpan data percakapan yang ada pada kelas Server.java

(isi file "pesan.txt" yang berisi record percakapan Klien)
dibuat oleh: