ASocket
ASocket 是一个 TCP/UDP 协议的封装库,方便快速实现 TCP 的长连接与 UDP 的单播、组播、广播等相关通信。
通过 ASocket 统一管理 TCP/UDP 相关 Socket,让其适用于 Android,在 UI 主线程调用和回调,在子线程异步处理消息的发送与接收
Gif 展示
你也可以直接下载 演示 App 体验效果
引入
Gradle:
- 在 Project 的 build.gradle 里面添加远程仓库
allprojects {
repositories {
//...
mavenCentral()
}
}
- 在 Module 的 build.gradle 里面添加引入依赖项 ```gradle implementation 'com.github.jenly1314:asocket:1.0.0'
## 示例
### 主要用法示例
```kotlin
//初始化一个 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)
完整示例
TCPClient
TCPServer
UDPClient
UDPServer
UDPMulticast
特别说明
组播 IP 地址特别说明
多播的地址是特定的,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,可限制多播范围。
更多使用详情,请查看Demo中的源码使用示例或直接查看API 帮助文档
相关推荐
ANetty 基于 Netty 封装的 Android 链路通讯库,用以快速开发高性能,高可靠性的网络交互。在保证易于开发的同时还保证其应用的性能,稳定性和伸缩性。
版本记录
v1.0.0:2021-10-13
- ASocket 初始版本
赞赏
如果你喜欢 ASocket,或感觉 ASocket 帮助到了你,可以点右上角“Star”支持一下,你的支持就是我的动力,谢谢 :smiley:
你也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:




关于我
Name: Jenly
Email: jenly1314#gmail.com / jenly1314#vip.qq.com
CSDN: jenly121
CNBlogs: jenly
GitHub: jenly1314
Gitee: jenly1314
加入 QQ 群: 20867961

