我想打开一个套接字并侦听。用PHP编写的客户端将发送XML请求。此刻,我只是发送字符串“测试”到它,我得到一个内存堆错误。来自套接字的Java堆内存错误
这里是服务器我的Java代码:
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);
}
}
}
我得到的错误是:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at main.server(main.java:39)
at main.main(main.java:12)
我已经做了搜索,有很多这个错误的解释就在这里,但我不能解决为什么当我发送一个4字母字符串len是1952805748.
您是否使用DataOutputStream连接到端口3030? – 2012-01-03 00:53:56