android tcp客戶端 封裝

2021-08-10 22:01:44 字數 2993 閱讀 8295

我感覺,簡單的tcp通訊網上應該容易搜到,但對tcp加密,以及tcp當做http通訊和接收推送時,就會有衝突吧。 

最後我封裝了它 。

這是tcp 部分:

/**

* created by zhu on 2017/11/16.

*/public classmyserviceextendsservice

@override

public voidoncreate()

/****

@return

*/public staticmyservice getinstance()

/*** ----------------tcpclient------------------------

*//**

* 連線

tcp*/

public voidconnecttcp(string wangguan_ip,finalicallback icallback

,finaliconnecttcpback iconnect)

/*** socket

初始化*/

private voidinitsocket(string wangguan_ip,finalicallback icallback

,finaliconnecttcpback iconnect)catch(ioexception e)

}/**

* tcp_socket

傳送資料

*//**

* 連線成功,去認證有效的

tcp鏈結 (

》閘道器)**

@param

*/public voidsraum_send_tcp(finalmap map,finalstring command_send,finalicallback icallback)catch(exception e)

send_tcp_socket(destring);//send tcpclient socket

}catch(exception e)

}}).start();

}/**

* 傳送

tcpsocket

資料流*/

public voidsend_tcp_socket(string tcp_client_content)catch(ioexception e)

//傳送資料

trycatch(ioexception e)

}}

這是tcp呼叫的一部分:
myservice.getinstance().connecttcp(user.ip,newicallback() 

@override

public voiderror(string data)

},newiconnecttcpback()

});}

});}

}).start();

}

上面是把tcp當做http通訊使用的;接收部分用單獨的執行緒。即收發一次執行緒被kill。
保持長連線的話,即接收實時推送;接收執行緒要一直存在。
這是客戶端socket接收執行緒部分:
/**** 

接收執行緒**/

public classreceive_threadimplementsrunnable//

實現runnable

catch(exception ex)

}@override

public voidrun()else

// });

log.v("data", msg);

if(command.equals("command"))elsecatch(exception e)

map.put("content_tcp_rev", destring);

// hand_tcp_client_rev.sendmessage(message);

recev_flag=false;//

殺死該執行緒,然後

icallback.process(map);}}

}catch(ioexception e) }}

}

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

客戶端封裝瀏覽器

官網訪問位址 開發時用sdk,開啟的客戶端頁面可以f12檢視頁面資訊 上線時用下面那個。安裝好後的資料夾 vue專案打包,npm run build,生成乙個static資料夾和乙個index.html,index.html就是入口頁面 現在需要建立乙個配置檔案package.json webkit...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...