Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.47 KB | None | 0 0
  1.  //----------------------------------MULTICAST----------------------------------------
  2.         fwh.WriteLog(aClass, "Launch multicast thread");
  3.  
  4.         Thread myThready = new Thread(new Runnable() {
  5.             public void run() //Этот метод будет выполняться в побочном потоке
  6.             {
  7.                 String ip = "";
  8.                 WifiManager wifiManager = (WifiManager) mContext.getApplicationContext().getSystemService(WIFI_SERVICE);
  9.                 ip = Formatter.formatIpAddress(wifiManager.getConnectionInfo().getIpAddress());
  10.  
  11.                 if (ip.equals("0.0.0.0")) {
  12.                     ip = "192.168.43.1";
  13.                 }
  14.                 fwh.WriteLog(aClass, "launch server on:" + ip);
  15.  
  16.                 final String INET_ADDR = "224.0.0.3";
  17.                 final int PORT = 8888;
  18.                 InetAddress addr = null;
  19.                 try {
  20.                     addr = InetAddress.getByName(INET_ADDR);
  21.                 } catch (UnknownHostException e) {
  22.                     e.printStackTrace();
  23.                     fwh.WriteLog(aClass, e.getMessage());
  24.  
  25.                 }
  26.                 Timer timer = new Timer();
  27.                 final InetAddress finalAddr = addr;
  28.                 final String finalIp = ip;
  29.                 timer.scheduleAtFixedRate(new TimerTask() {
  30.  
  31.                     @Override
  32.                     public void run() {
  33.                         try (DatagramSocket serverSocket = new DatagramSocket()) {
  34.  
  35.                             String msg = finalIp;
  36.                             DatagramPacket msgPacket = new DatagramPacket(msg.getBytes(),
  37.                                     msg.getBytes().length, finalAddr, PORT);
  38.                             try {
  39.                                 serverSocket.send(msgPacket);
  40.                             } catch (IOException e) {
  41.                                 e.printStackTrace();
  42.                                 fwh.WriteLog(aClass, "Sending multicast msg error: " + e.getMessage());
  43.                             }
  44.  
  45.  
  46.                         } catch (IOException ex) {
  47.                             ex.printStackTrace();
  48.                             fwh.WriteLog(aClass, "Join to multicast finish: " + ex.getMessage());
  49.                         }
  50.                     }
  51.                 }, 0, 1000);
  52.             }
  53.         });
  54.         myThready.start();
  55.         //--------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement