HTTP y sockets:

Codifiqué una aplicación en Java para mi teléfono Android que usa una conexión de socket para enviar y recibir datos de texto que funciona bien, usa PrintWritery BufferedReaderse dijo mucho en el proceso sobre el uso de la conexión HTTP. Espero aprovechar esta oportunidad para establecer dónde HTTP diferirá de los sockets, así que espero que me puedan ayudar con lo siguiente.

1) Creo una conexión de socket usando lo siguiente

Lado del servidor:

serverSocket = new ServerSocket(4444);

Lado del cliente:

clientSocket = new Socket(address, portNumber);

Entonces, ¿cuál sería el equivalente HTTP en el lado del cliente y del servidor?

2) Para enviar datos del cliente al servidor, hago lo siguiente:

pw = new PrintWriter(clientSocket.getOutputStream(),true);

    pw.write(AStringVariableInThisCase+"\n"); 
    pw.flush();

¿Cuál sería la manera correcta dentro de una conexión HTTP?

3) Para recibir los datos enviados desde el cliente, en el lado del servidor hago lo siguiente:

   BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
   String language = br.readLine();

¿Cuál sería el equivalente usando una conexión HTTP?

El programa que he diseñado permite que los datos pasen de un lado a otro con el servidor usando su propio conjunto de clases y continúa haciéndolo usando PrintWriter y BuferedReader para hacerlo.

Gracias por cualquier ayuda que pueda contribuir a distinguir las diferencias.

Respuesta 1

HTTP es un protocolo . Se usa (generalmente) sobre un zócalo.

Java proporciona la clase HttpUrlConnection para una forma conveniente de usar HTTP a través de un socket.

Respuesta: 2

Empecé a aprender Spring Framework, el término pojo viene muchas veces, y estoy confundido sobre la diferencia entre un objeto normal (Animal a1 = nuevo Animal ()) y un objeto pojo.

Después de reconstruir mi proyecto, aparece este error: No se puede resolver la intención del constructor (anónimo android.widget.AdapterView.OnItemClickListener, java.lang.Class>) '¿Alguien significa lo que significa el error, qué ...

Tengo problemas para ejecutar mi procesador de anotaciones desde la línea de comandos. El problema es que funciona en el entorno de Windows, pero no en mi instalación de Linux. Mi procesador está ubicado en un archivo jar (...

Tengo un cuadrado de 1 km, lo estoy dividiendo en 100 metros tanto en el lado positivo como en el negativo. __________Y__________ | El | El | El | El | El | ...