雖然google為android開發者提供了gcm實現push,但是因為需要系統安裝了google play、google帳號、系統》2.2、google push伺服器在國外等多種原因,在中國,android上想實現push還需要自己努力。
當前最火的開源push是基於xmpp協議的androidpn。androidpn是基於mina框架的,所以這裡從mina框架開始入手。看mina官網的說明:
下面通過簡單的例子來學習mina的使用。首先建立服務端,工程正使用了3個jar包
看**:
public class hellominahellomina的處理器:}
/**下面是client**,client沒有使用nio,使用的普通socket實現:* hellomina的處理邏輯
* @author zhangxy
*/class minaserverhandler extends iohandleradapter
@override
public void messagereceived( iosession session, object message ) throws exception
system.err.println("收到客戶端發來的訊息::"+str);
stringbuilder buf = new stringbuilder(str.length());
for (int i = str.length() - 1; i >= 0; i--)
// and write it back.
session.write(buf.tostring());
}@override
public void sessionidle( iosession session, idlestatus status ) throws exception
@override
public void messagesent(iosession session, object message)
throws exception
@override
public void sessionclosed(iosession session) throws exception
@override
public void sessioncreated(iosession session) throws exception
@override
public void sessionopened(iosession session) throws exception
}
public class hellominaclientsocket作為短連線,即收發訊息後socket斷開一次,執行緒過5秒又建立連線收發訊息。/**
* @param args
*/
public static void main(string args) throws exception
/**
* 傳送訊息
* @param out
*/
public void sendmessage(socket s) catch (ioexception e)
} public void receivemessage(socket s) catch (exception e)
} public void minaclient() throws exception catch (interruptedexception e) catch(exception e)finally catch (ioexception e)
} }
} }
/**
* @author 張興業xy-zhang#163.com
* android開發高階群:278401545
*
*/
push研究 Apache Mina探索初步
雖然google為android開發者提供了gcm實現push,但是因為需要系統安裝了google play google帳號 系統 2.2 google push伺服器在國外等多種原因,在中國,android上想實現push還需要自己努力。當前最火的開源push是基於xmpp協議的androidp...
push函式分析
首先push函式是array原生的乙個方法,可以通過該方法將陣列元素載入到乙個json物件或者陣列中。下面是測試的方法 var mm var pushmethod array.prototype.push pushmethod.call mm,1 傳入單一的字串 result object 結果 生...
陣列push被覆蓋
之前在寫 定義個新的陣列,每次將最新的物件push到陣列中的時候被最後一條 覆蓋的機率特別大,這次終於明白是為什麼了。防止被覆蓋有以下幾種辦法 辦法1.this.users.foreach element 這裡面的關鍵點是重新例項化清空。this.ts new useritem 能用this,是因為...