Foros del Web » Programando para Internet » PHP »

Socket vs Ajax

Estas en el tema de Socket vs Ajax en el foro de PHP en Foros del Web. Ando experimentando con Sockets en PHP y me surgieron algunas dudas... Primero, cual seria la diferencia entre usar un Socket o un Ajax que apunte ...
  #1 (permalink)  
Antiguo 01/03/2012, 10:38
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Pregunta Socket vs Ajax

Ando experimentando con Sockets en PHP y me surgieron algunas dudas...

Primero, cual seria la diferencia entre usar un Socket o un Ajax que apunte a un script PHP con un file_get_contents('host') en su interior?

Si es lo mismo, cual seria la ventaja de uno sobre de otro?

Y finalmente me podrian recomendar algun buen tutorial sobre Sockets en PHP? ya lei el manual en php.net pero no me resuelve algunas dudas de ejemplos de como enviar direccion:puerto/script


Muy Agradecido por sus comentarios...
  #2 (permalink)  
Antiguo 01/03/2012, 10:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Socket vs Ajax

Creo que tienes que entender bien los conceptos antes de pensar que son iguales, los sockets sirven para la comunicación de punto a punto, es decir de ip a ip, por una variedad de protocolos (por ejemplo UDP, TCP, etc).

PHP te deja abrir un socket hacía donde quieras, inclusive al mismo servidor (loopback) eso es parte de la naturaleza de los sockets.

Ahora AJAX es una tecnología para hacer un request HTTP desde Javascript (Cliente/Navegador) hacía un servidor, en el interior usa el objeto XMLHttpRequest, que hace un socket desde el navegador (cliente) hacía el servidor, usando un request HTTP, que es sobre el protocolo TCP.

O sea que no puedes comparar los dos, ya que AJAX usa sockets, pero su definición es muy concreta, la comunicación (sincrona o asíncrona) desde Javascript hacía el servidor. Mientras que con sockets te puedes comunicar desde un punto A a un punto B, bajo una variedad de protocolos o puertos.

Saludos.
  #3 (permalink)  
Antiguo 01/03/2012, 11:30
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Socket vs Ajax

Si... entiendo que Ajax es de cliente a servidor y socket de servidor a servidor, solo que alguna vez use AJAX para mostrar informacion de una IP visitante, esta informacion la obtenia desde otro servidor usando el comando file_get_contents(host) de PHP

Y ahora que ando leyendo sobre sockets me doy cuenta que es practicamente lo mismo, envias una peticion y obtienes un resultado, por eso mi pregunta de cual seria la diferencia entre ambos? o refinandola un poco mas, cual seria la diferencia entre abrir un socket o usar file_get_contents(host)?
  #4 (permalink)  
Antiguo 01/03/2012, 12:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Socket vs Ajax

file_get_contents hace un request TCP al servidor, es una forma sencilla de hacer un request a otro servidor, también puedes usar cURL, fopen(), etc. PHP te permite hacerlo de muchas formas.

Todo esto internamente usa un socket TCP al otro servidor, así que no hay "diferencias" todos están usando sockets, la diferencia esta en la facilidad de uso, con sockets tienes que especificar muchas cosas, en cambio con file_get_contents() pues su uso es muy simple.

Saludos.

Etiquetas: ajax, socket
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:59.