连接阶段 | 客户端操作 | 服务器操作 | 网络协议与组件 |
1. 准备工作 | 在AndroidManifest.xml中添加网络权限 | 确保服务器安全策略允许连接 | 需要的网络权限声明 |
2. 获取本地IP | 使用getLocalIpAddress获取设备IP地址 | (可选)配置服务器接受特定IP地址范围 | InetAddress类 |
3. 建立连接 | 创建TcpClient实例并指定服务器IP和端口 | 创建TcpListener实例并开始监听端口 | TCP/IP协议 |
4. 连接请求 | 调用Connect方法发起连接请求 | 使用AcceptTcpClient方法等待并接受连接 | Socket套接字 |
5. 数据传输 | 通过Socket获取OutputStream,写入数据 | 通过Socket获取InputStream,读取数据 | 字节流(OutputStream/InputStream) |
6. 数据处理 | 用户输入数据,通过BufferedWriter包装后发送 | 读取数据,通过BufferedReader处理 | 字符流(BufferedReader/BufferedWriter) |
7. 发送/接收消息 | 实现发送按钮逻辑,在子线程中发送数据 | 在服务器端读取数据并处理 | 线程管理(保证UI线程不被阻塞) |
8. 保持连接 | 监听网络状态,处理断开重连 | 定期检查客户端连接状态,清理无效连接 | 网络状态监听 |
9. 安全性 | 使用SSL/TLS加密传输(如GaussDB示例) | 开启SSL,强制或允许SSL连接 | SSL/TLS协议 |
10. 异常处理 | 监控网络异常,如闪断、超时、服务端宕机 | 实现异常处理机制,反馈给客户端 | 异常处理逻辑 |
11. RPC调用(可选) | 使用RPC框架封装调用信息 | RPC服务器端解析请求,执行并返回结果 | RPC协议(如HTTP/Socket等) |