freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

xmpp協(xié)議的使用-wenkub

2023-05-29 05:01:26 本頁面
 

【正文】 essPacket(Packet packet) { if(packet == null) { return。 eventType != amp。 } else if(eventType == ) { (END_TAG)。 } catch(XmlPullParserException xppe) { ()。 // Shut down the listener executor. ()。 } })。 (true)。 } /** * Initializes the reader in order to be used. The reader is initialized * during the first connection and when reconnecting due to an abruptly * disconnection. */ protected void init() { done= false。 Private XmlPullParser parser。接著建立PacketReader對象,并啟動。 packetReader = new PacketReader(this)。 } catch(UnsupportedEncodingException e) { //TODOAutogenerated catch block ()。 } catch(ClassNotFoundException e1) { //TODOAutogenerated catch block ()。 try{ debuggerClass = ()。 } catch(UnknownHostException e) { ()。4.public void connect() { // Stablishes the connection, readers and writers connectUsingConfiguration(config)。XMPPConnection在這構造函數(shù)里面主要配置ip地址和端口(super(new ConnectionConfiguration(, 9991))。 return true。)解析這塊東西打算從最初的調用開始作為入口,抽絲剝繭,逐步揭開。該并且提供了很多操作xmpp協(xié)議的API,也方便各種不同自定義協(xié)議的擴展。我們不需要自己重新去定義一套接收機制來擴展新的協(xié)議,只需繼承然后在類里處理自己的協(xié)議就可以了。1.PacketListener packetListener = new PacketListener() { Override public void processPacket(Packet packet) { .println(ActivityprocessPacket+ ())。 } }。)3.(packetListener, packetFilter)。}5.private void connectUsingConfiguration(ConnectionConfiguration config) { String host = ()。 } catch(IOException e) { ()。 Constructor? constructor = ( , , )。 } catch(Exception e) { throw newIllegalArgumentException( Can39。 } catch(IOException e) { //TODOAutogenerated catch block ()。 addPacketListener((), null)。PacketReader主要負責消息的處理和通知7.public class PacketReader { Private ExecutorService listenerExecutor。 Private Thread readerThread。 readerThread= newThread() { public voidrun() { parsePackets(this)。 // create an executor to deliver ining packets to listeners. // we will use a single thread with an unbounded queue. listenerExecutor= Executors .newSingleThreadExecutor(newThreadFactory() { Override publicThread newThread(Runnable r) { Thread thread = newThread(r, smack listener processor)。 resetParser()。 } private voidresetParser() { try{ parser= ().newPullParser()。 } } /** * Parse toplevel packets in order to process them further. * *paramthread * the thread that is being used by the reader to parse ining * packets. */ private void parsePackets(Thread thread) { try{ Int eventType = ()。 } eventType = ()。amp。 } // Loop through all collectors and notify the appropriate ones. for(PacketCollector collector : ()) { (packet)。 } public void run() { for(ListenerWrapper listenerWrapper : .values()) { (packet)。這樣在activity開始之前注冊的那個監(jiān)聽事件就會觸發(fā),從而完成了整個流程。 if(packet == null) { return。 do{ try{ (timeout, )。 這樣整個流程就完成了,最后總結一下,如圖(就這么簡單^0^): 項目下載(只有客戶端的,服務端的就是一個簡單的socket接受,為了鍛煉一下大家的編寫代碼的能力,服務器那個只能自己寫咯^0^,其實是懶得上傳了,代碼很簡單的)android asmack 注冊 登陸 聊天 多人聊天室 文件傳輸XMPP協(xié)議簡介XMPP協(xié)議(Extensible Messaging and PresenceProtocol,可擴展消息處理現(xiàn)場協(xié)議)是一種基于XML的協(xié)議,目的是為了解決及時通信標準而提出來的,最早是在Jabber上實現(xiàn)的。利用XMPP作為通用的傳輸機制,不同組織內的不同應用都可以進行有效的通信。設想既然XMPP 協(xié)議是一個公開的協(xié)議,那么每個企業(yè)都可以利用它來開發(fā)適合本身企業(yè)工作,提高自身生產(chǎn)效率的IM;甚至,你還可以在網(wǎng)絡游戲中集成這種通信軟件,不但讓你可以邊游戲邊聊天,也可以開發(fā)出適合游戲本身的IM 應用,比如說一些游戲關鍵場景提醒功能,團隊語音交流等等都可以基于IM來實現(xiàn)。 下圖展示了三者之間的關系:(很明顯這個圖是偷別人的,具體是哪里我忘了,因為資料都是復制到文檔后慢慢研究看的)從圖上可以了解到,client 端和server端都可以通過插件的方式來進行擴展,smack是二者傳遞數(shù)據(jù)的媒介。 // Google talk // ConnectionConfiguration connectionConfig = new // ConnectionConfiguration( // , 5222, )。 ProviderManager pm =()。具體實現(xiàn)如下:Registration reg = newRegistration()。 (().toString())。 PacketCollector collector = () .createPacketCollector(filter)。 if(result== null) { (getApplicationContext(), 服, ).show()。 }使用注冊類,設置好注冊的用戶名密碼和一些屬性字段,直接設置包過濾,根據(jù)這個過濾創(chuàng)建一個結果集合,發(fā)送注冊信息包,等待獲取結果,剩余就是判斷結果內容. 登錄模塊登錄比較簡單().connect()。(PASSWORD_KEY, password)。(() .getUser())。startActivity(intent)。 Presence presence = (())。 (())。 (())。 // get user Intent intent = getIntent()。 // 監(jiān)聽聊天消息 (newChatManagerListenerEx())。 } } public classMessageListenerEx implementsMessageListener { Override public voidprocessMessage(Chat arg0, Message message) { String result = () + :+ ()。 Bundle bd = newBundle()。 } } 所獲取到的消息都是通過handler來更新UIpublicHandler handler= newHandler() { Override public voidhandleMessage( msg) { switch() { case0: { String result = ().getString(msg)。 } } }。 privateChatManager manager = null。 } Override public
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1