Kommunikation Version 1.1 UDP Socket
This commit is contained in:
parent
192f88ede5
commit
b246ad8624
@ -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
|
||||
|
@ -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);
|
||||
|
@ -10,20 +10,28 @@
|
||||
android:layout_width = "match_parent"
|
||||
android:layout_height = "wrap_content"
|
||||
android:inputType = "textMultiLine"
|
||||
android:textAppearance = "@style/Base.TextAppearance.AppCompat.Medium" />
|
||||
<TextView
|
||||
android:id = "@+id/tvMessages"
|
||||
android:layout_width = "match_parent"
|
||||
android:layout_height = "wrap_content"
|
||||
android:layout_below="@id/tvConnectionInfos"
|
||||
android:inputType = "textMultiLine"
|
||||
android:hint="ConnectionInfos"
|
||||
android:textAppearance = "@style/Base.TextAppearance.AppCompat.Medium" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnSend"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/tvMessages"
|
||||
android:layout_below="@id/scrollView"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="SEND" />
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/scrollView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_below="@id/tvConnectionInfos"
|
||||
android:layout_height="300dp">
|
||||
<TextView
|
||||
android:id = "@+id/tvMessages"
|
||||
android:layout_width = "match_parent"
|
||||
android:layout_height = "wrap_content"
|
||||
android:hint="Messages"
|
||||
android:inputType = "textMultiLine"
|
||||
android:textAppearance = "@style/Base.TextAppearance.AppCompat.Medium" />
|
||||
</ScrollView>
|
||||
</RelativeLayout>
|
Loading…
x
Reference in New Issue
Block a user