Categories: MSDN / DotNet / Java / Scripts / Linux / PHP Ask - La ask - La Answer

having java server/client problem

My problem here is that everytime the client is asked to key in a number, on the server it keeps repeating:

Client from /127.0.0.1 connected.
Client said: Greetings
Client from /127.0.0.1 connected.
Client said: Greetings

etc.. how can i stop this guys? It's basically a game and the server uses MagicNumber to generate a random number and the client has to guess it within 10 goes!

Server:

public class GuessNumberServer {
public static void main (String args[]) throws IOException {

MagicNumber mnumb = new MagicNumber();

ServerSocket server = new ServerSocket(1357);
System.out.println("Waiting for client..");

while (true) {
try {
Socket client = server.accept();

System.out.println("Client from " + client.getInetAddress() + " connected.");

DataOutputStream out = new DataOutputStream(new BufferedOutputStream(client.getOutputStream()));
DataInputStream in = new DataInputStream(new BufferedInputStream(client.getInputStream()));

String inmessage = in.readUTF();
System.out.println("Client said: " + inmessage);

int clientnumber = in.readInt();
String result = mnumb.guess(clientnumber);

if ((result == "Congratulations! Your guess was correct.") || (mnumb.getFinished())) {
String end = "The game is now over.";

out.writeUTF(end);
out.flush();

client.close();
server.close();
} else {
out.writeUTF(result);
out.flush();
}
} catch (Exception e) { }
}

}

}// GuessNumberServer

Client:

public class GuessNumberClient {
public static void main (String args[]) throws IOException {

while (true) {

try {
Socket server = new Socket("localhost", 1357);

DataOutputStream out = new DataOutputStream(new BufferedOutputStream(server.getOutputStream()));
DataInputStream in = new DataInputStream(new BufferedInputStream(server.getInputStream()));

String outmessage = "Greetings";
out.writeUTF(outmessage);
out.flush();

System.out.println("Key in a guess number:");
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
int number = Integer.parseInt(stdin.readLine());

if ((number < 1) || (number > 100)) {
System.out.println("You have chosen to end the game.");
server.close();
break;
} else {
out.writeInt(number);
out.flush();

String inmessage = in.readUTF();
System.out.println("The server said: " + inmessage);
}

} catch (Exception e) { }

}

}

}// GuessNumberClient

Any help will be much appreciated! Here is an attachment if you guys want to see the problem for yourself when you run both the server and client together:
[3160 byte] By [pouncer] at [2007-11-11 8:37:50]
# 1 Re: having java server/client problem
if it helps 127.0.0.1 is your own machines IP address.
Sportsdude11751 at 2007-11-11 22:34:53 >
# 2 Re: having java server/client problem
yes i know/ localhost and 127.0.0.1 both same

but it keeps saying greetings repeatedly, im trying to stop it?

anyone help?
pouncer at 2007-11-11 22:35:54 >