P
PeiWei
Gast
Hi.
Ich programmiere gerade ein kleines TicTacToe-Spiel und komme an einer Stelle nicht weiter.
Mein Server empfängt beim Programmstart die Nachricht "0000" und soll dann eine Spieler-ID an den Client zurücksenden. Allerdings hängt der Client und der Server emfängt auch nicht die Nachricht.
Sende ich keine Spieler-ID wird die Nachricht "0000" empfangen.
Es sieht so aus, als ob der Client auf Daten wartet.
Hier mal der Quellcode des Servers:
Und hier der des Clients:
Ich hoffe, ihr könnt mir helfen, ich verzweifel nämlich langsam an diesem Problem :-(
Danke schon mal!
Philipp
Ich programmiere gerade ein kleines TicTacToe-Spiel und komme an einer Stelle nicht weiter.
Mein Server empfängt beim Programmstart die Nachricht "0000" und soll dann eine Spieler-ID an den Client zurücksenden. Allerdings hängt der Client und der Server emfängt auch nicht die Nachricht.
Sende ich keine Spieler-ID wird die Nachricht "0000" empfangen.
Es sieht so aus, als ob der Client auf Daten wartet.
Hier mal der Quellcode des Servers:
Code:
while ( true )
{
Socket client = server.accept();
DataOutputStream out = new DataOutputStream( client.getOutputStream() );
DataInputStream in = new DataInputStream( client.getInputStream() );
// Form einer Nachricht: 0000, Spieler-Aktion-Wert
sMessage = in.readLine();
System.out.println( "Nachricht: " + sMessage );
if( sMessage.equals( "0000" ) ) // JUHU.
{
System.out.println( "Spieler zurücksenden." );
if( iPlayerNumber != 3 )
{
System.out.println( "Client connected." );
System.out.println( "Schreibe " + iPlayerNumber + " aus." );
out.write( iPlayerNumber );
iPlayerNumber++;
}
else{}
}
else{}
client.close();
}
Und hier der des Clients:
Code:
public void connect() throws IOException
{
Socket client = new Socket ( "localhost", iPort );
DataOutputStream out = new DataOutputStream( client.getOutputStream() );
DataInputStream in = new DataInputStream( client.getInputStream() );
out.writeBytes( "0000" ); // am Server anmelden, Spielernummer erfragen
// Das funktioniert irgendwie nicht :-(
// iPlayer = in.read(); // Spielernummer einlesen
System.out.println( iPlayer );
iConnected = 1;
// Ressourcen wieder freigeben
out.close();
in.close();
client.close();
}
Ich hoffe, ihr könnt mir helfen, ich verzweifel nämlich langsam an diesem Problem :-(
Danke schon mal!
Philipp