ASocket 是一個TCP/UDP協定的封裝庫,方便快速實現TCP的長連線與UDP的單播、群播、廣播等相關通訊。
透過ASocket 統一管理TCP/UDP 相關Socket,讓其適用於Android,在UI主執行緒呼叫和回調,在子執行緒非同步處理訊息的發送與接收
你也可以直接下載示範App 體驗效果
在Project的build.gradle或setting.gradle中新增遠端倉庫
repositories {
// ...
mavenCentral()
}
在Module的build.gradle裡面加入引入依賴項
implementation ' com.github.jenly1314:asocket:1.0.0 '
多播的位址是特定的,D類別位址用於多播。 D類IP位址就是多播IP位址,即224.0.0.0至239.255.255.255之間的IP位址,並劃分為局部連線多播位址、預留多重播送位址與管理權限多重播送位址3類: 局部多播位址:在224.0.0.0~224.0.0.255之間,這是為路由協定和其他用途保留的位址,路由器並未轉送屬於此範圍的IP套件。 預留多播位址:在224.0.1.0~238.255.255.255之間,可用於全球範圍(如Internet)或網路協定。 管理權限多播位址:在239.0.0.0~239.255.255.255之間,可供組織內部使用,類似私有IP位址,不能用於Internet,可限制多播範圍。
//初始化一个ISocket的实现类(如:TCPClient、TCPServer、UDPClient、UDPServer、UDPMulticast)
val tcpClient = TCPClient (host,port)
//初始化ASocket
val aSocket = ASocket (tcpClient)
//设置状态监听
aSocket.setOnSocketStateListener( object : ISocket . OnSocketStateListener {
override fun onStarted () {
}
override fun onClosed () {
}
override fun onException ( e : Exception ) {
}
})
//设置接收消息监听
aSocket.setOnMessageReceivedListener { data ->
// TODO 接收消息
}
//启动
aSocket.start()
// ....
//发送消息
aSocket.write(data)
TCPClientActivity
TCPServerActivity
UDPClientActivity
UDPServerActivity
UDPMulticastActivity
更多使用詳情,請查看Demo中的源碼使用範例或直接查看API幫助文檔
如果你喜歡ASocket,或感覺ASocket幫助到了你,可以點右上角「Star」支持一下,你的支持就是我的動力,謝謝?
您也可以掃描下面的二維碼,請作者喝杯咖啡☕
我的部落格 | GitHub | Gitee | CSDN | 部落格園 |
---|---|---|---|---|
Jenly's Blog | jenly1314 | jenly1314 | jenly121 | jenly |
微信公眾號 | Gmail信箱 | QQ信箱 | QQ群 | QQ群 |
---|---|---|---|---|
Jenly666 | jenly1314 | jenly1314 | 20867961 | 64020761 |