서버와 연결이 성립되었고..

서버에 요청을 하는데 코드 이해가 잘안되네요

 public static boolean write(String args) {
     Log("writestring");
  byte buffer[] = null;
  buffer = utfToByte(args);
  Log("writestring = success");
  return write(buffer);
 }
   
    public static boolean write(byte[] args) {
     Log("writebyte");
  byte buf[] = new byte[4];
  int length = args.length;
  for (int i = 0; i < 4; i++) {
   buf[3 - i] = (byte) ((length >> (i * 8)) & 0xff);  ㅡ>특히 이부분에 대해서는 힘드네요ㅜㅜ
  }
  try {
   mOutputStream.write(buf, 0, 4);
   mOutputStream.write(args, 0, length);
   mOutputStream.flush();
  } catch (Exception e) {
   Log("write = " + e.toString());
  }
  Log("writebyte = success");
  return true;
 }

 

 오버로딩을 사용해서 저렇게 쓰는것두 이해가 잘안되네요ㅜㅜ