整体步骤流程 先来说一下整体的步骤思路吧: 发送 UDP 广播,大家都知道 UDP 广播的特性是整个网段的设备都可以收到这个消息。 接收方收到了 UDP 的广播,将自己的 ip 地址,和双方约定的端口号,回复给 UDP 的发送方。 发送方拿到了对方的 ip 地址以及端口号,就可以发起 TCP 请求了,建立 TCP 连接。 保持一个 TCP 心跳,如果发现对方不在了,超时重复 1 步骤,重新建立联系。 整体的步骤就和上述的一样,下面用代码展开: 搭建 UDP 模块 public UDPSocket(Context context) { this.mContext = context;