Я открыл обычный java-сокет в своем приложении Android, и я должен использовать его для отправки запросов и получения ответов, я обычно отправляю запросы, но не получаю никакого ответа от сервера, я проверял подключения к серверу, и это в порядке, и я также пытался слушать через Hercules и посылаются запросы, как правило, и сервер отправляет ответ, как правило, это обычный сокет кодирования я использую:Почему мой сокет не получает ответ?
public static void xbmc_connect(){
try {
xbmc_socket = new Socket(xbmc_address, xbmc_port);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void xbmc_sendingDataToSystem(String data) throws IOException{
xbmc_output = new DataOutputStream(xbmc_socket.getOutputStream());
xbmc_output.writeBytes(data);
}
public String xbmc_getServerResponse() throws JSONException{
String responseLine, server_response = null_string;
try {
xbmc_input = new BufferedReader(new InputStreamReader(
xbmc_socket.getInputStream()));
System.out.println(xbmc_input.toString());// doesn't print anything
} catch (IOException e) {
}
try {
while ((responseLine = xbmc_input.readLine()) != null) {
server_response = server_response + responseLine ;
}
return server_response;
}
я просто положить его для тестирования, я не хочу, чтобы напечатать что-нибудь читаемый, я просто хочу это дает мне какой-либо результат, который заставляет меня знать, что он получает что-либо, и, кстати, я сделал его для печати с такой же строкой чтения, а также ничего не дал. – MRefaat
Печать BufferedReader с помощью toString() не говорит вам, получено ли что-либо. Вы должны вызывать 'read()' или 'readLine()'. Однако теперь я вижу, что вы делаете это в цикле while по крайней мере. В приведенном выше надписью catch сделайте 'e.printStackTrace()', чтобы убедиться, что исключение не выбрасывается. –