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

    XMPP協議學習(2)--Java例子(與GoogleTalk互通)

     ShangShujie 2011-01-13

    轉載  XMPP協議學習(2)--Java 例子(與Google Talk互通) 收藏

    轉自: http://www./beansoft/archive/2008/01/26/177886.html 

    基于開源軟件做個和GTalk聊天的小命令行程序

        因為GTalk是基于JabberXMPP協議開發的,所以我們只要下載個Java XMPP協議類庫就能和GTalk聊天了,其實我好希望所有的IM廠商都互聯互通哦,這樣我就可以只裝一個客戶端,和所有人聊天。在這里我們下載的是 igniterealtime 提供的開源 Smack Java XMPP 軟件包,下載地址是:

    http://www./downloads/index.jsp#smack ,然后點擊下載 smack_3_0_4.zip 。下載之后會得到一個ZIP文件,解壓縮后得到類庫文件:

    包括了文檔和類庫。在這里我們只需要smack.jarsmackx.jar就可以了。好了,現在讓我們用Eclipse或者其它工具創建一個Java項目,將這兩個JAR文件加入進去。例如我這里用的Eclipse:

    然后就是寫代碼測試了唄,下面是測試代碼:

    import org.jivesoftware.smack.Chat;
    import org.jivesoftware.smack.MessageListener;
    import org.jivesoftware.smack.XMPPConnection;
    import org.jivesoftware.smack.packet.Message;
    import java.io.*;

    public class ChatTest {

        public static void main(String[] args) throws Exception {
            XMPPConnection.DEBUG_ENABLED = true;

            XMPPConnection connection = new XMPPConnection("gmail.com");
            connection.connect();
            connection.login("MyEclipseJava", "
    密碼
    ******");
            Chat chat = connection.getChatManager().createChat("beansoft@gmail.com", new MessageListener() {
                public void processMessage(Chat chat, Message message) {
                    System.out.println(message.getFrom() + " " +  new java.util.Date().toLocaleString() + "
    :" + message.getBody());
                }

            });
            BufferedReader cmdIn = new BufferedReader(new InputStreamReader(System.in));
            for(;;) {
              try {
                 String cmd = cmdIn.readLine();
                 if("!q".equalsIgnoreCase(cmd)) {
                     break;
                 }
                chat.sendMessage(cmd);
              }catch(Exception ex) {
              }
            }
            connection.disconnect();
            System.exit(0);
        }
    }

    代碼結構很簡單,就是連接到gmail.com的聊天服務器,然后用MyEclipseJava這個賬戶登錄,密碼保密和諧成**了。createChat()方法連接您想說話的對象,然后創建消息監聽器就行了。

    后面的代碼是循環從命令行讀取信息并發給目標對象的,直到您輸入!q就可以退出聊天了。這段程序的缺點大概就是不能更改聊天的目標對象吧,不過如果把它設置成報警提醒相信會非常有用,例如服務器出錯等等,要是所有的IM都互聯互通,這樣會更有用的。

    這段代碼運行的時候會彈出個調試對話框來查看接受和發送的消息,您可以去掉 XMPPConnection.DEBUG_ENABLED = true; 這一句就不會再出來調試對話框了。

    好了,運行代碼:

    輸入消息并按下回車,這時候GTalk就能收到信息了:

     

    哈哈,說起來跟Google那個簡介的界面的確有一拼啊,如果加個SWT或者Swing界面啥的,一個極其簡單的文本聊天客戶端就誕生了。

    當然現在我們也可以自己搭建個聊天服務器來測試,把代碼里面所有的gmail.com都換成聊天服務器的IP就可以了,例如localhost,參考用開源軟件搭建企業內部協作平臺, Kill QQ MSN一文。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产成人欧美日韩在线电影| 日韩精品一区二区三区影院| 50岁熟妇的呻吟声对白| 肉大捧一进一出免费视频| 国产中文字幕在线精品| 久久精品国产亚洲AV麻| 亚洲AV无码成人网站手机观看| 少妇无套内射中出视频| 亚洲AV永久无码天堂网一线| 美女自卫慰黄网站| 偷窥国产亚洲免费视频| 国产99视频精品免费专区| 四虎永久地址WWW成人久久| 18禁男女爽爽爽午夜网站免费| 92精品国产自产在线观看481页| 日日婷婷夜日日天干| 久热综合在线亚洲精品| 久久久久99精品国产片| 国产福利姬喷水福利在线观看| 亚洲成AV人片不卡无码手机版| 一区二区三区鲁丝不卡| 免费无码国产欧美久久18| 国产明星精品无码AV换脸| 欧美成人家庭影院| 一本精品中文字幕在线| 国产精品中文字幕综合| 性动态图AV无码专区| 最新亚洲人成网站在线影院| 久久精品人妻无码一区二区三| 无码专区 人妻系列 在线| 思思久久96热在精品国产| 国产午夜亚洲精品不卡下载| 亚洲成人av在线高清| 白嫩少妇激情无码| 国产乱妇乱子在线视频| 亚洲精品漫画一二三区| 久久精品国产亚洲AV无码偷窥| 美日韩在线视频一区二区三区| 精品久久久久中文字幕日本| 在线观看AV永久免费| 国产美女自卫慰黄网站|