Android(安卓)TCP/UDP开源库NetworkDebugAssistant使用教程
16lz
2021-01-26
Android TCP/UDP开源库NetworkDebugAssistant使用教程
- 前言
- 使用方法
- 添加依赖
- UDP广播
- UDP组播
- TCP客户端
- TCP服务器
- 混淆规则
- GitHub
前言
之前开发的通讯工具,已经上架酷安和Google play store,链接在下方:
酷安 - Network Debug Assistant
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.3'}
UDP广播
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.send("192.168.1.123", 12345, data)
UDP组播
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.send("192.168.11.255", "12345", data)
TCP客户端
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.send(data)
TCP服务器
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.send("192.168.11.255", "12345", data) // 发送数据给全部已连接的客户端 thread.send(data)
混淆规则
# 保留UDP/TCP库-keep class com.dlong.dl10netassistant.** {*;}-dontwarn com.dlong.dl10netassistant.**
GitHub
D10NGYANG/NetworkDebugAssistant
更多相关文章
- Android通讯录管理(获取联系人、通话记录、短信消息)(二)
- Android(安卓)无法debug的问题
- 插曲1-项目开始前夕【我的第一次云项目连载】
- android之lint警告This Handler class should be static or leak
- 【ERROR】---Error executing "adb devices":ADB server didn't
- Android个推使用
- Android(安卓)在子线程中更新UI的几种方法
- Android向node.js编写的服务器发送数据并接收请求
- appium并发测试