Örnek

OpenFire Server'ını (XMPP Server-Jabber) Kullanan Console Bazlı Test Amaçlı Mesajlaşma Uygulaması

Aşağıda OpenFire Server'ı üzerinden karşılıklı komut satırından iki kullanıcının mesajlaşmasını sağlayan uygulamanın kodu bulunmaktadır :
package com.donetr.xmpp.test;
 
import java.util.*;
import org.jivesoftware.smack.*;
import org.jivesoftware.smack.filter.*;
import org.jivesoftware.smack.packet.*;
 
public class TestClient extends Thread {
 
      public String username="";
      public String password="";
      public String friend="";
     
      public TestClient(String username,String password,String friend) {
            this.username=username;
            this.password=password;
            this.friend=friend;
      }
     
      @Override
      public void run() {
           
            boolean isClose=false;
           
            try {
                  ConnectionConfiguration conf=new ConnectionConfiguration(
                             "localhost",5222);
                 
                  XMPPConnection connection=new XMPPConnection(conf);
                  connection.connect();
                 
                  System.out.println("OpenFire Server'ına Bağlandı");
                 
                  PacketListener myPacketListener = new PacketListener() {
                    public void processPacket(Packet packet) {
           
                        Message message = (Message) packet;
 
                        System.out.println(packet.getFrom()+":"+message.getBody());
                       
                    }
                };
               
                PacketTypeFilter filter = new PacketTypeFilter(Message.class);
                  connection.addPacketListener(myPacketListener, filter);
                 
                  connection.login(username, password);
                 
                  System.out.println(username+" login oldu..");
                 
                  while(!isClose){
                       
                        Scanner in = new Scanner(System.in);
                        String message=in.nextLine();
                       
                        if(message==null){
                             try {
                                   Thread.sleep(5000);
                             } catch (InterruptedException e) {
                                   e.printStackTrace();
                             }
                             continue;
                        }
                       
                        if(message.equals("exit")){
 
                             isClose=true;
                             connection.disconnect();
                             break;
                            
                        }else{
 
                             System.out.println(message+" mesajı gönderiliyor...");
                            
                             Chat chat=connection.getChatManager().createChat(friend,null);
                            
                             Message messageObject=new Message();
                             messageObject.setBody(message);
                            
                             chat.sendMessage(messageObject);
                            
                             System.out.println(message+" mesaji gönderildi ...");
                            
                        }
 
                  }
            } catch (XMPPException e) {
                  e.printStackTrace();
            }
      }
      public static void main(String[] args)
                  throws XMPPException {
           
    	  TestClient c=new TestClient(args[0],args[1],args[2]);
          c.start();
 
      }
     
}

Uygulama bir console uygulamasıdır ve test edebilmek için iki ayrı console uygulaması çalıştırmak gerekir. Argüman olarak üyenin <şifre> şeklinde değerleri verilmelidir. "Arkadaşın Kullanıcı Adı" bilgisi JID tipinde olmalıdır ve bu değer kullanıcıadi@servername şeklindedir.
OpenFire server'ına bağlanmak için Smack kütüphanesi kullanılmaktadır.
zafer.teker , 25.05.2018

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir