diff --git a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java index c47b020..004792e 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java +++ b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java @@ -3,6 +3,8 @@ import android.annotation.SuppressLint; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; +import android.provider.Settings; +import android.telephony.TelephonyManager; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -33,12 +35,15 @@ public class MainActivity extends AppCompatActivity { String message = ""; + String deviceId; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvMessages = findViewById(R.id.tvMessages); tvConnectionInfos = findViewById(R.id.tvConnectionInfos); + String deviceId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID); try { SERVER_IP = getLocalIpAddress(); tvConnectionInfos.setText("Connection Infos: \n Own IP-Adress: " + SERVER_IP+ " Port: " + SERVER_PORT); @@ -50,13 +55,14 @@ public class MainActivity extends AppCompatActivity { @Override public void onClick(View v) { i++; - communication.sendTrue("Test" +i); + communication.sendTrue(deviceId+ "Test" +i); } }); } protected void onResume() { super.onResume(); communication = new WifiCommunication(MainActivity.this, SERVER_PORT); + //communication.sendTrue(deviceId+ " has Entered"); } @Override diff --git a/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java b/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java index d0aad05..2afa4a5 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java +++ b/app/src/main/java/com/example/ueberwachungssystem/WifiCommunication.java @@ -27,7 +27,7 @@ public class WifiCommunication { try { socket = new DatagramSocket(this.port); socket.setBroadcast(true); - address = InetAddress.getByName("255.255.255.255"); + address = InetAddress.getByName("10.0.2.255"); //100.82.255.255 running = true; send = false; new ReceiveThread().start(); @@ -39,25 +39,27 @@ public class WifiCommunication { } private class ReceiveThread extends Thread { private StringBuffer rxStringBuffer = new StringBuffer(); - private String rxString; + private String rxString=""; private String previousRxString = ""; + @Override public void run() { try { do { - byte[] rxBuffer = new byte[512]; + byte[] receiveData = new byte[512]; InetAddress fromAdress; int fromPort; - DatagramPacket rxPacket = new DatagramPacket(rxBuffer, rxBuffer.length); + DatagramPacket rxPacket = new DatagramPacket(receiveData, receiveData.length); socket.receive(rxPacket); fromAdress = rxPacket.getAddress(); fromPort = rxPacket.getPort(); - rxString = new String(rxBuffer, 0, rxPacket.getLength()); + rxString = new String(rxPacket.getData()); if(!previousRxString.equals(rxString)) { + rxStringBuffer.append(rxString).append("\n"); mainActivity.runOnUiThread(() -> mainActivity.tvMessages.setText(rxStringBuffer)); - rxStringBuffer.append("Adress: " + fromAdress).append(" Port: " + fromPort).append(" Message " +rxString).append("\n"); + previousRxString = rxString; } - previousRxString = rxString; + } while (running); } @@ -75,14 +77,19 @@ public class WifiCommunication { if(send) { send = false; + byte[] send_Data = new byte[512]; + String txString = (getLocalIpAddress() + " sends:" +messageToSend+ " Count: " + tmpCnt++); + send_Data = txString.getBytes(); - String txString = getLocalIpAddress() + " sends:" +messageToSend+ " Count: " + tmpCnt++; - byte[] txBuffer = txString.getBytes(); + DatagramPacket txPacket = new DatagramPacket(send_Data, txString.length(), address, port); - DatagramPacket txPacket = new DatagramPacket(txBuffer, txBuffer.length, address, port); - - for(int i = 0; i < 20; i++) { + for(int i = 0; i < 500; i++) { socket.send(txPacket); + /*try{ + sleep(10); + }catch (InterruptedException e){ + e.printStackTrace(); + }*/ } } } while (running); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index fd91a97..37e0909 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -10,20 +10,28 @@ android:layout_width = "match_parent" android:layout_height = "wrap_content" android:inputType = "textMultiLine" - android:textAppearance = "@style/Base.TextAppearance.AppCompat.Medium" /> -