Aplikasi Java Untuk Instant Messaging Berbasis Jabber/XMPP
Pasti teman-teman semua sudah pernah menggunakan aplikasi semacam Yahoo!Messenger, GoogleTalk, MSN, dan mIRC. Semua itu merupakan aplikasi yang digunakan untuk berkomunikasi melalui internet, atau istilah kerennya aplikasi chatting. Mungkin pernah berpikir, gimana sich cara buatnya?
Aku akan memberikan contoh sedikit cara membuat aplikasi chatting menggunakan Java dengan memanfaatkan protokol yang sudah tidak asing lagi, Jabber/XMPP. Pustaka yang akan aku pakai adalah Smack API, yang merupakan pustaka open source untuk membuat aplikasi chatting berbasis XMPP.
Sebelum teman-teman mulai mengembangkan aplikasi ini, tentunya dibutuhkan server XMPP, dan aku menggunakan Openfire, yang juga bersifat open source. Jadi jika belum ada di komputer, install-lah terlebih dahulu. Kalau sudah ter-install dengan baik, jalankan Openfire.

Kalau server XMPP (Openfire) sudah berjalan, coba lakukan pengetesan apakah server sudah terinstall dengan baik dengan menjalankan aplikasi XMPP client, aku mencoba dengan Pidgin, dengan konfigurasi seperti gambar di bawah ini.

Kalau teman-teman bisa login, berarti server sudah berjalan dengan baik.
Langkah berikutnya adalah membuat aplikasi Java. Berikut adalah program kecil yang berfungsi untuk mengirimkan pesan ke salah satu user Jabber yang sudah terdaftar di server:
/**
* Filename: SendJabberMessage.java
* @author secangkirkopipanas
*/
package jabber;
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.ChatManager;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
public class SendJabberMessage {
public static void main(String[] args) {
try {
// Create a connection to the localhost server on a specific port (default is 5222)
ConnectionConfiguration config = new ConnectionConfiguration("127.0.0.1", 5222);
XMPPConnection conn = new XMPPConnection(config);
conn.connect();
conn.login("secangkirkopipanas", "password");
ChatManager chatmanager = conn.getChatManager();
Chat newChat = chatmanager.createChat("secangkirkopipanas@localhost", new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.out.println("Received message: " + message);
}
});
newChat.sendMessage("Hello World!");
} catch (XMPPException xe) {
xe.printStackTrace();
}
}
}
Kompilasi code di atas, dan jalankan. Jangan lupa untuk menjalankan aplikasi client terlebih dahulu untuk melihat hasilnya. Berikut hasil yang diperoleh jika menggunakan Pidgin:

Tidak sesulit yang dibayangkan, bukan? Good luck ya, semoga berhasil.
hehe nice application.. ok i’ll try…
thanks, ntar aku coba.