Так что я пытаюсь, чтобы сидеть и слушать, ожидая подключения от клиента. Клиент отправляет через некоторую строку, а сервер выполняет некоторые действия на основе полученных. Теперь мне хотелось бы, чтобы клиент отправил по какой-то команде запрос на возврат данных и сервер получил то, что ему нужно, и отправьте строку обратно.Отправьте строку клиенту по команде JAVA
Не так ли? Ну почему-то я не могу заставить его работать, я думаю, что он не закрывает сокет должным образом. Я не могу понять, почему это не будет или что я делаю неправильно.
Client
String data = "";
DataOutputStream outToServer = null;
BufferedReader input;
try {
outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes("GETDATA");
outToServer.flush();
input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
data = input.readLine();
Log.d("ANSWER: ", data);
input.close();
} catch (IOException e) {
Log.d("Error: ", e.toString());
}
Сервер
ServerSocket listeningSocket = new ServerSocket(9008);
BufferedReader fromClient ;
PrintStream os;
while(true) {
Socket clientSocket = listeningSocket.accept();
ServerConnection clientConnection = new ServerConnection(clientSocket);
os = new PrintStream(clientSocket.getOutputStream());
fromClient= new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
if(fromClient.readLine().equals("GETDATA")){
os.println("DATA");
os.flush();
clientSocket.wait();
clientSocket.close();
}
else{
clientConnection.run();
}
}
Любые идеи?
, что это проблема, что случилось, когда вы запускаете код – aymankoo
Что такое ServerConnection – aymankoo
Ничего не происходит, он не регистрирует ничего, успех или исключение. – Dandrews