Я новичок в разработке Android, поэтому, пожалуйста, будьте осторожны: p У меня возникли проблемы с отправкой пакетов UDP с моего телефона Android на мой anrdiuno (с экраном WiFi). Я могу отправлять и получать пакеты в или из arduino, используя приложение TCP/UDP Terminal из Play Маркета, без проблем. Для легкой задачи начинающих я хотел бы отправить только один пакет в мой arduino (который находится в моей локальной сети по адресу 192.168.0.101 и прослушивает порт 5000), когда я нажимаю кнопку, появляется сообщение с сообщением о том, что данные имеют было отправлено. Мой текущий андроид код ниже:Отправка пакета UDP с Android на Arduino
//CALLED WHEN USER PRESSES BUTTON
public void sendMessage(View view){
runUdpClient();
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText("MESSAGE SENT");
// Set the text view as the activity layout
setContentView(textView);
}
private void runUdpClient() {
try{
String msg = "Hello";
byte[] msgBytes = (msg.getBytes());
String serverHostname1 = new String ("192.168.0.101");
InetAddress ip = InetAddress.getByName(serverHostname1);
//SEND ON PORT 5000
DatagramSocket socket = new DatagramSocket(5000);
socket.setBroadcast(true);
DatagramPacket packet = new DatagramPacket(msgBytes,msgBytes.length, ip, 5000);
//packet.setAddress(ip);
//packet.setPort(5000);
socket.send(packet);
socket.close();
}catch(Exception e){
e.printStackTrace();
}
}
Я отлажена код и обнаружил, что исключение при socket.send (пакет) называется (хотя я не знаю, как для просмотра этой expection). После перехода через функцию отправки это исключение было выбрано:
IllegalArgumentException («Несоответствие адреса пакета с подключенным адресом»);
Пожалуйста, помогите мне с этим, пожалуйста? Спасибо вам за помощь!