J'essaie d'ouvrir un socket et d'écouter. Les clients écrits en PHP enverront alors des requêtes XML. Pour le moment, je ne fais que lui envoyer la chaîne "test" et j'obtiens une erreur Memory Heap.Java Heap Erreur de mémoire du socket
Voici mon code java pour le serveur:
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);
}
}
}
L'erreur que je reçois est:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at main.server(main.java:39)
at main.main(main.java:12)
Je l'ai fait une recherche et il y a beaucoup d'explications de cette erreur ici , cependant je ne peux pas comprendre pourquoi quand j'envoie une lettre len 4 lettres est 1952805748.
Utilisez-vous un DataOutputStream pour vous connecter au port 3030? –