Ich habe mir ein 4 gewinnt gebastelt, dass man übers Netzwerk spielen kann. Gestetet habe ich den Server mit Telnet. Er sendet seine Züge brav und nimmt diese auch entgegen.
Wenn ich nun jedoch den Selber programmierten Client nehme. Kommt auf beiden Seiten nichts an. Also weder gesendet noch empfangen.
Die Verbindung besteht aber. Die Streams sind auch geöffnet, das habe ich überprüft.
Verbindung herstellen und empfangen
Senden
Wenn ich nun jedoch den Selber programmierten Client nehme. Kommt auf beiden Seiten nichts an. Also weder gesendet noch empfangen.
Die Verbindung besteht aber. Die Streams sind auch geöffnet, das habe ich überprüft.
Verbindung herstellen und empfangen
Code:
if(ip == null)
{
//Getting connection from client
ServerSocket sServer = new ServerSocket(port);
sClient = sServer.accept();
Controller.conEstablished(sClient.getInetAddress().toString()); //Shows the user, that connection is built
}
else
{
sClient = new Socket(ip, port);
if(sClient.isConnected())
{
Controller.conEstablished(sClient.getInetAddress().toString());
}
}
//Get input and output streams
brClient = new BufferedReader(new InputStreamReader(sClient.getInputStream()));
bwClient = new BufferedWriter(new OutputStreamWriter(sClient.getOutputStream()));
System.out.println(sClient.isInputShutdown()); //Check
String strInput = "";
while((strInput = brClient.readLine()) != null) //If null is received, connection was closed
{
System.out.println(strInput);
Controller.doAction(strInput);
}
Controller.conClosed(); //Connection was closed
Senden
Code:
public void sendCommand(String strCommand)
{
try
{
System.out.println(strCommand);
bwClient.write(strCommand);
bwClient.flush();
} catch (IOException ex)
{
System.out.println(ex);
}
}