vendredi 20 mars 2015

Sending ByteArray using Java Sockets (Android programming)



I have this Java code that sends string with Socket. I can use the same code for Android.



public class GpcSocket {

private Socket socket;

private static final int SERVERPORT = 9999;
private static final String SERVER_IP = "10.0.1.4";

public void run() {
new Thread(new ClientThread()).start();
}

public int send(String str) {
try {
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
out.flush();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return str.length();
}

class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}


Now, I need to send binary information encoded in ByteArray. What might be the best ways to do this? I'm considering converting the ByteArray into string to use the same method, but I guess one can send the byte array information directly using Java Sockets.




Aucun commentaire:

Enregistrer un commentaire