Java Heap Memory error from socket
<p>I am trying to open a socket and listen. Clients written in PHP will then send XML requests. At the moment I am just send the string "test" to it and I am getting a Memory Heap Error. </p>

<p>Here is my java code for the server:</p>

<pre><code>import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        server();

    }

    public static void server() {
        ServerSocket MyService = null;
        try {
            MyService = new ServerSocket(3030);
        }
        catch (IOException e) {
            System.out.println(e);
        }

        Socket serviceSocket = null;
        try {
            serviceSocket = MyService.accept();
        }
        catch (IOException e) {
            System.out.println(e);
        }

        DataInputStream in;
        try {
            in = new DataInputStream(serviceSocket.getInputStream());
            System.out.println("DEV STEP 1");
            int len = in.readInt();
            System.out.println(len);
            byte[] xml = new byte[len];
            in.read(xml, 0, len);
            //System.out.print(xml.toString());
            //Document doc = builder.parse(new ByteArrayInputStream(xml));

        }
        catch (IOException e) {
            System.out.println(e);
        }

    }

}
</code></pre>

<p>The error I am getting is:</p>

<pre><code>Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at main.server(main.java:39)
    at main.main(main.java:12)
</code></pre>

<p>I have done a search and there are plenty of explanations of this error on here, however I can not work out why when I am sending a 4 letter String len is 1952805748.</p>
