これは私がこのエラーを取得するために取った手順です。UTF-8文字列のためのjava.lang.NumberFormatException
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);
私は単純にソケットで整数を送信しようとしています。おそらくもっと良い方法がありますか?文字列move_receivedを出力すると1桁の文字列を出力するので、なぜこのエラーが発生するのか知りたいです。
文字列を解析する前にトリミングしてみましたか? – Perception
そして、 'move_received'は文字を何から含んでいますか? –
あなたは 'move_received'に何が入っているのか見てみましたか? – AlexR