博客链接:Android TCP/UDP开源库NetworkDebugAssistant使用教程
从0.1.4版本开始支持Lambda语法
之前开发的通讯工具,已经上架酷安和Google play store,链接在下方:
Google play store - Network Debug Assistant
包括以下功能:
- udp广播;
- udp组播;
- Tcp客户端;
- Tcp服务器;
现在,终于有时间将它整理成一个单独的库,能直接在其他项目中快捷接入使用。
- 将JitPack存储库添加到您的构建文件中 将其添加到存储库末尾的root build.gradle中:
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
- 添加依赖项
dependencies {
implementation 'com.github.D10NGYANG:NetworkDebugAssistant:0.1.4'
}
val thread = UdpBroadThread(this, 12345, object : OnNetThreadListener{
override fun onAcceptSocket(ipAddress: String) {
// 不需要
}
override fun onConnectFailed(ipAddress: String) {
// 打开端口失败
}
override fun onConnected(ipAddress: String) {
// 打开端口成功
}
override fun onDisconnect(ipAddress: String) {
// 关闭UDP
}
override fun onError(ipAddress: String, error: String) {
// 发生错误
}
override fun onReceive(ipAddress: String, port: Int, time: Long, data: ByteArray) {
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
})
thread.start()
// 发送数据
thread.send("192.168.1.123", 12345, data)
lambda:
val thread = UdpBroadThread(this, 12345) {
onThreadAcceptSocket {
// 不需要
}
onThreadConnectFailed {
// 打开端口失败
}
onThreadConnected {
// 打开端口成功
}
onThreadDisconnect {
// 关闭UDP
}
onThreadError { ipAddress, error ->
// 发生错误
}
onThreadReceive { ipAddress, port, time, data ->
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
}
val thread = UdpMultiThread(this, "192.168.11.255", 12345, object : OnNetThreadListener{
override fun onAcceptSocket(ipAddress: String) {
// 不需要
}
override fun onConnectFailed(ipAddress: String) {
// 打开端口失败
}
override fun onConnected(ipAddress: String) {
// 打开端口成功
}
override fun onDisconnect(ipAddress: String) {
// 关闭UDP
}
override fun onError(ipAddress: String, error: String) {
// 发生错误
}
override fun onReceive(ipAddress: String, port: Int, time: Long, data: ByteArray) {
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
})
thread.start()
// 发送数据
thread.send("192.168.11.255", "12345", data)
lambda:
val thread = UdpMultiThread(this, "192.168.11.255", 12345) {
onThreadAcceptSocket {
// 不需要
}
onThreadConnectFailed {
// 打开端口失败
}
onThreadConnected {
// 打开端口成功
}
onThreadDisconnect {
// 关闭UDP
}
onThreadError { ipAddress, error ->
// 发生错误
}
onThreadReceive { ipAddress, port, time, data ->
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
}
val thread = TcpClientThread("192.168.1.123", 12345, object : OnNetThreadListener{
override fun onAcceptSocket(ipAddress: String) {
// 不需要
}
override fun onConnectFailed(ipAddress: String) {
// 连接服务器失败
}
override fun onConnected(ipAddress: String) {
// 连接服务器成功
}
override fun onDisconnect(ipAddress: String) {
// 服务器连接断开
}
override fun onError(ipAddress: String, error: String) {
// 发生错误
}
override fun onReceive(ipAddress: String, port: Int, time: Long, data: ByteArray) {
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
})
thread.start()
// 发送数据
thread.send(data)
lambda:
val thread = TcpClientThread("192.168.1.123", 12345) {
onThreadAcceptSocket {
// 不需要
}
onThreadConnectFailed {
// 连接服务器失败
}
onThreadConnected {
// 连接服务器成功
}
onThreadDisconnect {
// 服务器连接断开
}
onThreadError { ipAddress, error ->
// 发生错误
}
onThreadReceive { ipAddress, port, time, data ->
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
}
val thread = TcpServerThread(12345, object : OnNetThreadListener{
override fun onAcceptSocket(ipAddress: String) {
// 有客户端连接上来了,ipAddress客户端IP地址
}
override fun onConnectFailed(ipAddress: String) {
// 启动服务器失败
}
override fun onConnected(ipAddress: String) {
// 启动服务器成功
}
override fun onDisconnect(ipAddress: String) {
// 关闭服务器
}
override fun onError(ipAddress: String, error: String) {
// 发生错误
}
override fun onReceive(ipAddress: String, port: Int, time: Long, data: ByteArray) {
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
})
thread.start()
// 发送数据给特定客户端
thread.send("192.168.11.255", "12345", data)
// 发送数据给全部已连接的客户端
thread.send(data)
lambda:
val thread = TcpServerThread(12345) {
onThreadAcceptSocket {
// 有客户端连接上来了,ipAddress客户端IP地址
}
onThreadConnectFailed {
// 启动服务器失败
}
onThreadConnected {
// 启动服务器成功
}
onThreadDisconnect {
// 关闭服务器
}
onThreadError { ipAddress, error ->
// 发生错误
}
onThreadReceive { ipAddress, port, time, data ->
// 接受到信息,ipAddress消息来源地址,port消息来源端口,time消息到达时间,data消息内容
}
}
# 保留UDP/TCP库
-keep class com.dlong.dl10netassistant.** {*;}
-dontwarn com.dlong.dl10netassistant.**