Hier sind die Schritte, die ich unternommen habe, um diesen Fehler zu erhalten.java.lang.NumberFormatException für UTF-8 String
move_to_send = Integer.toString(b_id); // b_id >= 0 && b_id <= 8
// Send over socket
byte[] buf = move_to_send.getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, ADDRESS, opp_port);
socket.send(packet);
byte[] buf = new byte[GAME_DATA.BUF_SIZE];
DatagramPacket packet = new DatagramPacket(buf, GAME_DATA.BUF_SIZE);
socket.receive(packet);
byte[] data = packet.getData();
move_received = new String(data, "UTF-8");
// Error then occurs at this line
int move = Integer.parseInt(move_received);
Ich versuche einfach, eine ganze Zahl über einen Sockel zu senden. Vielleicht gibt es einen besseren Weg? Ich möchte immer noch wissen, warum dieser Fehler auftritt, denn wenn ich die Zeichenfolge move_received drucke, ist es eine einzelne Ziffernfolge
Haben Sie versucht, die Zeichenfolge zu trimmen, bevor Sie sie analysieren? – Perception
Und was enthält 'move_received' von Zeichen? –
Haben Sie versucht zu sehen, was 'move_received' enthält? – AlexR