title: Java UDP server-client showing square characters
body: <p>I used an example of a UDP server / client that i found here: <a href="http://systembash.com/content/a-simple-java-udp-server-and-udp-client/" rel="nofollow">http://systembash.com/content/a-simple-java-udp-server-and-udp-client/</a></p>
  
  <p>The client sends a string to the server and the server changes the lowercase letters to uppercase.</p>
  
  <p>The Server:</p>
  
  <pre><code>import java.io.*;
  import java.net.*;
  class UDPServer
  {
  
  public static void main(String args[]) throws Exception
  {
      DatagramSocket serverSocket = new DatagramSocket(9876);
      byte[] receiveData = new byte[1024];
      byte[] sendData = new byte[1024];
  
      while(true) {   
          DatagramPacket receivePacket = new DatagramPacket(receiveData,     receiveData.length);
          serverSocket.receive(receivePacket);
  
          String sentence = new String( receivePacket.getData());
          System.out.println("RECEIVED: " + sentence);
          InetAddress IPAddress = receivePacket.getAddress();
  
          int port = receivePacket.getPort();
          String capitalizedSentence = sentence.toUpperCase();
          sendData = capitalizedSentence.getBytes();
  
          DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port);
          serverSocket.send(sendPacket);
      }
  }
  
  }
  </code></pre>
  
  <p>The client:</p>
  
  <pre><code>import java.io.*;
  import java.net.*;
  class UDPClient
  {
  public static void main(String args[]) throws Exception
  {
      BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in,     "UTF-16"));
  
      DatagramSocket clientSocket = new DatagramSocket();
      InetAddress IPAddress = InetAddress.getByName("localhost");
      byte[] sendData = new byte[1024];
      byte[] receiveData = new byte[1024];
  
      String sentence = inFromUser.readLine();
      sendData = sentence.getBytes();
  
      DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876);
      clientSocket.send(sendPacket);
  
      DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
      clientSocket.receive(receivePacket);
  
      String modifiedSentence = new String(receivePacket.getData());
      System.out.println("FROM SERVER:" + modifiedSentence);
      clientSocket.close();
  }
  }
  </code></pre>
  
  <p>The output when i write test in the client:</p>
  
  <pre><code>test
  FROM SERVER:TEST□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□.....
  </code></pre>