Привет, я пытаюсь создать java-игру. Прямо сейчас я на серверной части. Прямо сейчас вывод состоит в том, что он просто freze и не будет завершен. Я пробовал использовать wirehark, но я не пошел хорошо.Java - Сокеты, приложение не отвечает
Извините за мой английский.
Сервер:
while(acceptingSockets){
if(playersOnline != maxPlayers){
playersOnline = playersOnline + 1;
socket = ss.accept();
brr = new BufferedReader(new InputStreamReader(socket.getInputStream()));
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write("ACCEPTED");
bw.newLine();
bw.flush();
}else{
bw.write("DENIED");
bw.flush();
}
while (acceptingConnections) {
while ((brr.readLine()) != null) {
String line = brr.readLine();
if(line.equalsIgnoreCase("CONNECTED")){
bw.write("MAP-" + mapId);
bw.newLine();
bw.write("NEWMAP");
bw.newLine();
bw.write("CONNECTED");
bw.newLine();
bw.flush();
brr.close();
bw.close();
socket.close();
}
}
}
Клиент:
public void actionPerformed(ActionEvent e)
{
prep = true;
start.setEnabled(false);
start.setText("Connecting");
try {
socket = new Socket(Display.Ip, Display.port);
PrintStream ps = new PrintStream(socket.getOutputStream());
InputStreamReader ir = new InputStreamReader(socket.getInputStream());
BufferedReader br = new BufferedReader(ir);
String line;
while(prep){
while((line = br.readLine()) != null){
if(line.equalsIgnoreCase("ACCEPTED")){
ps.println("CONNECTED");
}
if(line.equalsIgnoreCase("CONNECTED")){
new Display();
dispose();
br.close();
ps.close();
socket.close();
prep = false;
}
if(line.equalsIgnoreCase("NEWMAP")){
Display.newMap = true;
}
if(line.startsWith("MAP-")){
String newLine = line.replace("MAP-", "");
Display.mapId = Integer.valueOf(newLine);
}
}
}
} catch (IOException e1) {
e1.printStackTrace();
new Message("No Server Found!", "The servers are offline!.", MessageType.WARNING);
start.setText("Connect");
start.setEnabled(true);
prep = false;
}
}});
ваша ошибка трассировки – SSH
я не получаю никаких ошибок, я добавил printStackrace на стороне клиента, и он все равно woudnl't вставьте любые ошибки. А на сервере же, нет ошибки – Kalkonen
Где вы переключили логическое значение 'acceptingSockets' и' acceptingConnections'? – MrT