Java - не самая лучшая область кодирования, но я надеюсь, что эти идеи помогут.
Доступ к базе данных может быть сделан с помощью hibernate или другого OR-Mappe, так что вы можете манипулировать вашей базой данных как объектом.
Для информации в пакетах вы можете отправить информацию, когда вы успешно подключились к серверу, как:
public void connect(string servername)
{
ConnectionMethod();
if(connected)
{
SendObject(/*Enter information here*/);
}
}
Затем в получающем потоке вы можете проверить определенный класс входящего сообщения и обработать его соответствующим образом, например, сохранить его в базе данных или что-то в этом роде.
Для неправильного идентификатора устройства вы должны проверить, если вы находитесь в правильном потоке, когда вы получаете пакеты