国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
XMPP協(xié)議學(xué)習(xí)(2)--Java例子(與GoogleTalk互通)

 XMPP協(xié)議學(xué)習(xí)(2)--Java 例子(與Google Talk互通)收藏

轉(zhuǎn)自: http://www.blogjava.net/beansoft/archive/2008/01/26/177886.html 

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

    因?yàn)?/span>GTalk是基于JabberXMPP協(xié)議開發(fā)的,所以我們只要下載個(gè)Java XMPP協(xié)議類庫就能和GTalk聊天了,其實(shí)我好希望所有的IM廠商都互聯(lián)互通哦,這樣我就可以只裝一個(gè)客戶端,和所有人聊天。在這里我們下載的是 igniterealtime 提供的開源 Smack Java XMPP 軟件包,下載地址是:

http://www.igniterealtime.org/downloads/index.jsp#smack ,然后點(diǎn)擊下載 smack_3_0_4.zip 。下載之后會得到一個(gè)ZIP文件,解壓縮后得到類庫文件:

包括了文檔和類庫。在這里我們只需要smack.jarsmackx.jar就可以了。好了,現(xiàn)在讓我們用Eclipse或者其它工具創(chuàng)建一個(gè)Java項(xiàng)目,將這兩個(gè)JAR文件加入進(jìn)去。例如我這里用的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);
    }
}

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

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

這段代碼運(yùn)行的時(shí)候會彈出個(gè)調(diào)試對話框來查看接受和發(fā)送的消息,您可以去掉 XMPPConnection.DEBUG_ENABLED = true; 這一句就不會再出來調(diào)試對話框了。

好了,運(yùn)行代碼:

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

 

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

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

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《高性能的RTC服務(wù)器OpenFire》
could not connect to XMPP server via smack:no response from server
Asmack之旅(一)初識asmack源碼
基于XMPP協(xié)議的Android IM研究
Android客戶端基于XMPP的IM(openfire+asmack)的聊天工具之環(huán)境搭建及與服務(wù)器建立連接(一)
XMPP協(xié)議之客戶端(a)SMACK
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服