Buenos días;
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:
1° Crear el socket
2° Vincularle una IP y un puerto (bind)
3° Dejar que este socket escuche las conexiones (listen)
4° Aceptar las conexiones escuchadas (accept)
5° Escribir y Leer Informacion (read & write)- socket_read()
- socket_write()
6° Cerrar las conecciones (socket close)
La aplicación cliente; tiene que hacer lo siguiente: Cita:
1° Crear el socket
2° Vincularle una IP y un puerto (bind)
3° Conectar al 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)
Ahora bien; si lo citado arriba es correcto y no me saltíe ningun paso... ¿Como organizar esto en php?
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()