Cómo hacer HttpResponse trabajo más rápido?

Estoy trabajando en un proyecto en el que "tengo que obtener 4096 bytes de datos al servidor" de "servidor" cada "entre 1 milisegundo a 10 milisegundos". Pero es "tomar demasiado tiempo" es decir "alrededor de 300ms – 700ms "Que hace que mi aplicación pierda datos.

Estoy usando el siguiente fragmento

HttpClient client = new DefaultHttpClient(); HttpPost request = new HttpPost("http://192.168.1.40/ping"); HttpResponse response = client.execute(request); 

El HttpResponse está tomando solamente demasiado tiempo es decir alrededor 300ms – 700ms.

¿Cómo puedo obtener respuesta más rápido?

En lugar de esto, ¿qué más puedo usar para obtener una respuesta de sever más rápido que esto?

Por favor, hágamelo saber cualquier solución o manera de resolverlo.

He hecho google, pasó por otras formas como DataOutputStream y ByteOutputStream pero no uso de esto, también toma demasiado tiempo, a continuación, HttpResponse .

La ayuda será apreciada.

Esto no es posible. Usted está recreando una conexión cada vez.

Es necesario mantener una conexión persistente con el servidor. Intente crear una conexión http persistente.

Si eso no funciona, puede intentar enviar paquetes udp crudos (o cualquier otra cosa). Será más difícil, pero tomará menos tiempo.

Antes de que usted pueda hacer las respuestas más rápido, usted va a tener que investigar y entender por qué actualmente están tomando mucho tiempo. A grandes rasgos, podría ser:

  • El cliente toma mucho tiempo para crear la solicitud y / o preocuparse del resultado (parece improbable …)
  • Una pila de protocolos de red androide lenta
  • Un problema con su red local (por ejemplo, WiFi) o su proveedor de telecomunicaciones
  • Un servidor congestionado / sobrecargado o una red del lado del servidor, o
  • Algo pesimista en la implementación del servidor.

Hacer cosas como:

  • Pruebe la solicitud desde un navegador web en una PC convencional y utilice las funciones de desarrollador web del navegador para tratar de averiguar si / por qué la solicitud tarda mucho …
  • Busque en los registros del lado del servidor y / o supervise la información de carga y temporización de solicitudes
  • Otras sugerencias por favor

Implementar SPDY podría ayudar, pero es poco probable que cambie los tiempos de respuesta en el orden de 500ms a un par de decenas de milisegundos. El problema parece más fundamental que "HTTP es viejo y lento". Y el mismo razonamiento se aplica a todas las otras sugerencias que la gente ha hecho.

La respuesta de @sheldonCooper es correcta si el servidor habilita SPDY. También puede agregar compresión Gzip. Se ha añadido a todas las solicitudes después de GingerBread, pero podría agregarse a versiones anteriores de SDK: http://android-developers.blogspot.fr/2011/09/androids-http-clients.html

Utilice el protocolo SPDY . Esto mejoraría su tiempo de respuesta.

Creo que en su caso puede utilizar websockets para que no tendría que crear una conexión cada vez y la conexión en vivo está disponible cada vez.

  • Hacer clic en el elemento giratorio dentro de la ventana emergente causa WindowManager $ BadTokenException
  • API de SMS de Android
  • Configuración de dependencias de Android
  • Android java.lang.IllegalArgumentException in HttpGet
  • Deshabilitar todas las vistas secundarias dentro del diseño
  • Cómo obtener NoClassDefFoundError cuando se utiliza common.lang.StringUtils en el código androide java?
  • 'Org.apache.http.HttpEntity' está obsoleto. ¿Cómo solucionar este error en android studio?
  • Añadir opaco "sombra" (esquema) a Android TextView
  • Es posible cambiar el nombre de la hoja con apache poi MS excel java android
  • Cómo enviar cadena de Android a php
  • Cómo retrasar un bucle en android sin usar thread.sleep?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.