R
RugerRell
Gast
Hi zusammen,
hab eine serveranwendung in c geschrieben, welche steuerkommandos in form eines einfachen strings von einem in java-geschriebenen clienten entgegennimmt.
Danach wird der string verarbeitet, der server führt diverse aktionen durch und schickt die ergebnisse in form von einfachen strings zurück an den clienten, welcher diese ausgibt.
Das prinzip ist dem eines echo-server/-clients sehr ähnlich.
Problem: Ich öffne den clienten, verbinde zum server und schicke meinen string. Soweit läuft alles ok. Danach kann ich keine weiteren kommandos zum server senden. D.h.: Ich kann immer nur 1 kommando senden. Alle weiteren werden ignoriert. Nur ein neustart das java-clients ermöglicht mir wiederrum ein kommando zu schicken.
Hier der code des java tools:
Wo liegt der fehler? Evtl. doch im server?
Danke.
hab eine serveranwendung in c geschrieben, welche steuerkommandos in form eines einfachen strings von einem in java-geschriebenen clienten entgegennimmt.
Danach wird der string verarbeitet, der server führt diverse aktionen durch und schickt die ergebnisse in form von einfachen strings zurück an den clienten, welcher diese ausgibt.
Das prinzip ist dem eines echo-server/-clients sehr ähnlich.
Problem: Ich öffne den clienten, verbinde zum server und schicke meinen string. Soweit läuft alles ok. Danach kann ich keine weiteren kommandos zum server senden. D.h.: Ich kann immer nur 1 kommando senden. Alle weiteren werden ignoriert. Nur ein neustart das java-clients ermöglicht mir wiederrum ein kommando zu schicken.
Hier der code des java tools:
Code:
import java.net.*;
import java.io.*;
/**
*
*/
/**
* @author bin4ry
*
*/
public class echoCl1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try
{
echoSocket = new Socket("localhost", 31337);
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
}
catch (UnknownHostException e)
{
System.err.println(e.toString());
System.exit(1);
}
catch (IOException e)
{
System.err.println(e.toString());
System.exit(1);
}
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
try{
while ((userInput = stdIn.readLine()) != null)
{
if(userInput.equals("EXIT"))
{
break;
}
System.out.println("userInput: " + userInput);
out.println(userInput);
System.out.println("echo " + in.readLine());
}
out.close();
in.close();
stdIn.close();
echoSocket.close();
}
catch (Exception e)
{
System.err.println(e.toString());
}
}
}
Wo liegt der fehler? Evtl. doch im server?
Danke.