久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    java實(shí)現(xiàn)簡(jiǎn)單XMPP發(fā)送消息和文件的簡(jiǎn)單例子

     ShangShujie 2011-01-13

    首先xmpp server需要安裝好配置并啟動(dòng),這里只是實(shí)現(xiàn)簡(jiǎn)單的文本發(fā)送和文件發(fā)送,接受需要用xmpp client來(lái)接收

    下載地址:http://www./downloads/index.jsp

       xmpp server(openfire)

       xmpp client(spark)

       Java XMPP client library(smack)

      smack下載完后,壓縮包里面有例子、api、和jar(smack.jar、smackx.jar、smackx-debug.jar、smackx-jingle.jar)根據(jù)需求引用這些jar

    下面是一個(gè)簡(jiǎn)單的java代碼,這是做簡(jiǎn)單測(cè)試,沒(méi)有詳細(xì)優(yōu)化過(guò)(測(cè)試時(shí)發(fā)現(xiàn)個(gè)小問(wèn)題:發(fā)文件需要對(duì)方加你為好友后,你發(fā)文件的時(shí)候才會(huì)顯示,不加好友的話發(fā)送時(shí)是接收方有提示但是沒(méi)看到發(fā)送過(guò)來(lái)的文件,如果是發(fā)生文本消息則沒(méi)有這個(gè)問(wèn)題)

    首先spark為接收方登入

    然后執(zhí)行下面的java代碼

    package com.test.xmpp;

    import java.io.File;


    import org.jivesoftware.smack.Chat;
    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;
    import org.jivesoftware.smackx.filetransfer.FileTransfer;
    import org.jivesoftware.smackx.filetransfer.FileTransferManager;
    import org.jivesoftware.smackx.filetransfer.OutgoingFileTransfer;

    /**
     * @author test
     *
     */
    public class TestXmpp {

        /**
         * @param args
         */
        public static void main(String[] args){
           
            String user = "user@testHost/spark";
            String host = "localhost";
            int port = 5222;
            String username = "test";
            String password = "test";
            ConnectionConfiguration config = new ConnectionConfiguration(host,port);
            config.setCompressionEnabled(true);
            config.setSASLAuthenticationEnabled(true);
           
            XMPPConnection connection = new XMPPConnection(config);
           
            try{
             connection.connect();
             
             connection.login(username, password);
             
             sendFile(user,getFile(),connection );
            // sendTextMessage(user,connection);
            }catch(Exception e){
                e.printStackTrace();
            }finally{
                connection.disconnect();
            }
           

        }
       
        public static File getFile(){
            File file = new File("D:/test.jpg");
            return file;
        }

    //發(fā)送文件
        public static void sendFile(String user,File file,XMPPConnection connection )  throws Exception{
            FileTransferManager manager = new FileTransferManager(connection);
            OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer(user);
            long timeOut = 1000000;
            long sleepMin = 3000;
            long spTime = 0;
            int rs = 0; 
          
                transfer.sendFile(file, "pls re file!");
                rs = transfer.getStatus().compareTo(FileTransfer.Status.complete);
                while(rs!=0){
                    rs = transfer.getStatus().compareTo(FileTransfer.Status.complete);
                     spTime = spTime + sleepMin;
                     if(spTime>timeOut){return ;}
                    Thread.sleep(sleepMin);
                }

        }

    //發(fā)送文本
        public static void sendTextMessage(String user,XMPPConnection connection) throws Exception{
             Chat chat = connection.getChatManager().createChat(user, new MessageListener() {
                 
                    public void processMessage(Chat chat, Message message) {
                        System.out.println("Received message: " + message);
                    }
                });
                chat.sendMessage("Hi Test Send Message........!");
        }
       
     

    }

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 四虎国产精品永久入口| 亚洲人成人无码网WWW电影首页| 国产美女自卫慰黄网站 | 婷婷五月综合丁香在线| 动漫AV纯肉无码AV电影网| 亚洲最大成人网色| 99久久精品费精品国产一区二 | 国产精品午夜精品福利| 免费国产黄线在线观看| 日本边添边摸边做边爱喷水| 亚洲A综合一区二区三区| 亚洲精品无码AV人在线观看国产| 亚洲偷自拍国综合| 天码AV无码一区二区三区四区| 亚洲精品美女一区二区| 野花免费社区在线| 啊轻点灬大JI巴太粗太长了在线| 久久精品人人做人人爽电影蜜月 | 国产精品午夜av福利| 男人把女人桶到喷白浆的软件免费| 日韩亚洲精品中文字幕| 色欲久久人妻内射| 国产AV影片麻豆精品传媒| 国产亚洲精久久久久久无码| 国产超高清麻豆精品传媒麻豆精品| 亚洲国产精品久久久久久久| 美女爽到高潮嗷嗷嗷叫免费网站| 日产无人区一线二线三线乱码蘑菇 | 亚洲精品成人片在线播放| 潮喷失禁大喷水无码| 欧美乱码伦视频免费| 不卡高清AV手机在线观看| 色狠狠色噜噜AV一区| 无码国产精品一区二区免费I6 | 无码人妻蜜肉动漫中文字幕| 第一亚洲中文久久精品无码| 中文字幕国产精品综合| AV免费网址在线观看| 欧美国产综合欧美视频| 92精品国产自产在线观看481页| 无码精品人妻一区二区三区免费看 |