Necesito hacer un chat en php, que envíe cadenas de texto entre los usuarios conectados... Estuve leyendo sobre consultas anteriores relacionadas al tema; pero no me queda claro lo siguente:El servidor de chat tiene que hacer lo siguiente:
Cita:
La aplicación cliente; tiene que hacer lo siguiente:
1° Crear el socket
- socket_create()
2° Vincularle una IP y un puerto (bind)
- socket_bind()
3° Dejar que este socket escuche las conexiones (listen)
- socket_listen()
4° Aceptar las conexiones escuchadas (accept)
- socket_accept()
5° Escribir y Leer Informacion (read & write)
- socket_read()
- socket_write()
6° Cerrar las conecciones (socket close)
- socket_close()
Cita:
Ahora bien; si lo citado arriba es correcto y no me saltíe ningun paso... ¿Como organizar esto en php?
1° Crear el socket
- socket_create()
2° Vincularle una IP y un puerto (bind)
- socket_bind()
3° Conectar al socket (connect)
- socket_connect()
4° Tener un bucle infinito en el que se envie y reciba la info (read & write)
- socket_read()
- socket_write()
5° Cerrar las conexiones (close socket)
- socket_close()
Redacto un archivo server_chat.php que se ocupe de ralizar las tareas del servidor; y en la parte del chat (La parte gráfica) coloco el script del cliente?
Funciona esto así como una aplicacion cliente/servidor (?) Ej:
APLICACIÓN CLIENTE/SERVIDOR EN PYTHON
Cita:
Código:
Cliente:
#!/usr/bin/env python
import socket
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('localhost',8000))
while 1:
data = raw_input('>')
clientsocket.send(data)
if not data: break
newdata = clientsocket.recv(1024)
print newdata
clientsocket.close()
-----------------------------------------------------------------------------------------
Servidor:
#!/usr/bin/env python
import socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('localhost', 8000))
serversocket.listen(1)
clientsocket, clientaddress = serversocket.accept()
print 'Conexion desde: ', clientaddress
while 1:
data = clientsocket.recv(1024)
if not data: break
clientsocket.send(data)
clientsocket.close()


