B
BGraaf
Neues Mitglied
- 0
Hi,
ich habe da mal ein Problem. Ich versuche mit einem Linux-Server auf Basis von TCP-Sockets zu kommunizieren. In C/C++ eigentlich sehr einfach, in Java anscheinend eine größere Aufgabe. Mein Code sieht wie folgt aus:
---------
public void initClients() {
boolean abbruch = false;
File file = new File("clients.dat");
String str = null;
PrintWriter out = null;
BufferedReader in = null;
FileOutputStream datei = null;
String str2 = "quit";
if(socket == null)
{
bglrc_Alert("Fehler","Keine Verbindung");
return;
}
try {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
} catch (IOException e) {
e.printStackTrace();
}
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
if(file.exists()){
file.delete();
}
try {
datei = openFileOutput("clients.dat", Context.MODE_PRIVATE);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
out.println("init");
while(!abbruch)
{
try {
str = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (str.equals(str2)) abbruch = true;
else
{
// datei.write(str.getBytes());
out.println("1");
}
}
try {
datei.close();
} catch (IOException e) {
e.printStackTrace();
}
}
ich habe da mal ein Problem. Ich versuche mit einem Linux-Server auf Basis von TCP-Sockets zu kommunizieren. In C/C++ eigentlich sehr einfach, in Java anscheinend eine größere Aufgabe. Mein Code sieht wie folgt aus:
---------
public void initClients() {
boolean abbruch = false;
File file = new File("clients.dat");
String str = null;
PrintWriter out = null;
BufferedReader in = null;
FileOutputStream datei = null;
String str2 = "quit";
if(socket == null)
{
bglrc_Alert("Fehler","Keine Verbindung");
return;
}
try {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
} catch (IOException e) {
e.printStackTrace();
}
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
if(file.exists()){
file.delete();
}
try {
datei = openFileOutput("clients.dat", Context.MODE_PRIVATE);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
out.println("init");
while(!abbruch)
{
try {
str = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (str.equals(str2)) abbruch = true;
else
{
// datei.write(str.getBytes());
out.println("1");
}
}
try {
datei.close();
} catch (IOException e) {
e.printStackTrace();
}
}
-----------------
Der Code funktioniert bis zur Zeile
out.println("init");
out.println("init");
Danach bricht die Anwendung leider hart ab.
Ich habe schon alle möglichen Nachforschungen und eigene Traces eingebaut, leider ohne Erfolg.
Nun seit Ihr meine letzte Hoffnung!
Nun seit Ihr meine letzte Hoffnung!
Danke!
Bernhard