这段心跳的目标就是每隔十秒经由过程 sendMessage 发送一个消息,看看对方能不克不及收到。若对方收到消息,则刷新下 lastReceiveTime 的时光。
- private static final String BROADCAST_IP = "192.168.43.255";
- /**
- * 发送心跳包
- *
- * @param message
- */
- public void sendMessage(final String message) {
- mThreadPool.execute(new Runnable() {
- @Override
- public void run() {
- try {
- InetAddress targetAddress = InetAddress.getByName(BROADCAST_IP);
- DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), targetAddress, CLIENT_PORT);
- client.send(packet);
- Log.d(TAG, "数据发送成功");
- } catch (UnknownHostException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
- }
这里就是发送一个消息的代码。最初在填写 DatagramPacket 的参数刹那,我有一个疑问,那个 targetAddress 其实是本身的 ip 地址。问题来了,我填写了本身的 ip 地址和对方的端口,怎么可能找获得对方呢?你可能有一个困惑 "192.168.43.255" 这个本身的 ip 地址是怎么来的,为什么要这么定义?
推荐阅读
简介集合可视化我们用得最多的是韦恩图,韦恩图在集合数少的时刻是很好用的,然则当集合数多比如五个以上的时刻那就会看花眼了,比如下面这副含有6个集合韦恩图,是揭橥在Nature汕9依υ?┞仿里的,漂>>>详细阅读
本文标题:在Android上,一个完整的UDP通信模块应该是怎样的?
地址:http://www.17bianji.com/lsqh/38001.html
1/2 1