webForumDet fria alternativet

Kommunikation mellan javaprogram

3 svar · 563 visningar · startad av front

frontMedlem sedan aug. 2000371 inlägg
#1

Jag har en javaklient som ska skicka över text och binär data över internet till en javaserver.
Klienten är en midlet, så den kommer köras på en platform med små resurser.

Hur ska jag sköta kommunikationen?
Har kollat på lite sexiga lösningar med XML och RMI, men det känns inte som dom passar till detta.

Just nu har jag ett protokoll där jag skriver en String som kommando och sedan data i olika former, likt detta:

FILE
<String>
SIZE
<long>
DATA
<byte[]>

På serversidan tar jag emot kommandot och behandlar det såhär:

String command = in.readUTF();

if (command.equals("FILE")) {
 file = in.readUTF();
 ...
} else if (command.equals("SIZE")) {
 size = in.readLong();
 ...
 if (command.equals("DATA")) {
  ...
 }
}

Även om det fungarar så känns det fult gjort med en massa "if" och "else if".
Men det kanske är så man gör?

LimeMedlem sedan sep. 2001837 inlägg
#2

Jag skulle använda XML och Apache Commons Digester.

frontMedlem sedan aug. 2000371 inlägg
#3

Tack för svaret. Jag tittade lite på den lösningen, men det betyder att jag måste Base64-koda den binära datan.
Även om en mobiltelefon klarar av att Base64-koda runt 2 MB data så skulle jag hellst vilja undvika det.

frontMedlem sedan aug. 2000371 inlägg
#4

Har insett att XML och Commons Digester, trots lite extra proccessande på klienten, är den bästa lösningen.

Genererad på 386 ms · cache AV · v20260730165559-full.f96bc7eb