Logo Umeet2001

ESPAÑOL
Presentación

Programa

Desarrollo

ENGLISH

Presentation

Programa

Desarrollo


ismakEl tema de la charla: Programacio'n con sockets en PHP correra a cargo de Jose M. Gomez Vergara
ismakActualmente pertenece al equipo de I+D de el periodico español El Mundo
ismaky asiduo de los canales #linux
ismakha programado entre otras
ismak          cosas el modulo de facturacion, radiologia y fisiotesapia de
ismak          hospitales como quiron en españa o el hospital britanico en
ismak          argentina
ismakEs administrador del canal #linux-seguridad del irc-hispano
ismaky un experto programador en PHP, entre otros lenguajes
ismakLas preguntas se realizaran en el propio canal
ismakCuando quieras Jose
Dr_QBueno
Dr_QAnte todo buenas noches
Dr_Qy gracias por asistir a esta "charlita de amigos"
Dr_Qespero que lo que voy a contar aqui
Dr_Qos sirva de algo
Dr_Qaunque viendo a la gente que hay en el canal.... creo que mucho ya estais de vuelta de estas cosas
Dr_Qbueno, sin mas
Dr_Qy para no comer el terreno
Dr_Qa David R. que viene detras mia
Dr_Qvoy a empezar ya
Dr_QPrimero
Dr_Qme gustaria daros el guion de esta charla
Dr_Qpara que veais un poco que es lo que voy a cubrir
Dr_Q0. Alcance de esta charla
Dr_Q1. Que son los sockets. Breve introduccion.
Dr_Q2. Preparando php para poder utilizar los sockets
Dr_Q3. Dos formas de hacer las cosas.
Dr_Q4. Sockets en php. Funciones utilizadas
Dr_Q5. Mala Noticia. Todo esto puede cambiar.
Dr_Q6. Ejemplos de todo esto
Dr_Q7. Mas informacion
Dr_Q8. Preguntas
Dr_Qaunque en el punto 8 he puesto las preguntas
Dr_Qen principio podeis preguntar cuando querais, que ya contestare yo las que sepa :-)
Dr_Qbueno, pongamonos serio y pasemos al punto 0.
Dr_Q0. Alcance de esta charla
Dr_QLo que voy a intentar contaros aqui es algo básico sobre sockets.
Dr_Q Y
Dr_Qsentar unas bases para que aquellas personas interesadas en el tema
Dr_Qpuedan empezar a dar sus primeros pasos.
Dr_QProgramar, no es algo que se aprenda yendo a conferencias o charlas
Dr_Qsino que es fruto de mucha practica y de ir aprendiendo con los errores
Dr_Qy solucionando todos esos problemas que se nos van cruzando en nuestro
Dr_Qcamino.
Dr_QPor tanto lo que voy a intertar plasmar aqui es, en lo que todo esto
Dr_Qse basa y por donde podemos empezar con los sockets utilizando para ello
Dr_Qphp
Dr_QPara mi sin duda, "el lenguaje" para desarrollo en internet.
Dr_QAunque he visto verdaderas maravillas
Dr_Qprogramadas en php, y que sin embargo no estaban destinadas a ser ejecutadas desde
Dr_Qun clinete http
Dr_Q1.Que son los sockets?. Breve introduccion.
Dr_QTodos hemos oido hablar de los sockets pero tal vez te estarás preguntando
Dr_Qque es esto de los sockets exactamente.
Dr_QPues bien... aunque en principio
Dr_Qsuena como a algo muy raro, en realidad es algo muy simple de entender
Dr_QIntentaré explicar de una forma breve de que va todo esto de que va
Dr_Qtodo este rollo, intentare definir que son estas cosas
Dr_Qtan raras, para que sirven y como se pueden utilizar
Dr_QUna vez que definamos algunos conceptos básicos, pasare a describir
Dr_Qsu uso, usando el lenguaje php que a mi entender es el lenguaje
Dr_Qmas indicado para los desarrollos en internet con diferencia.
Dr_QDefinicion "a groso modo": Un socket no es más que una forma de comunicarse con otros programas
Dr_Qusando descriptores de fichero estándar de Unix.
Dr_Qnormalmente se utiliza para comunicarse con programas que estan en otro ordenadores
Dr_Qaunque no tiene que ser asi forzosamente
Dr_Qde hecho, el servidor de X que tenemos en nuestro ordenador
Dr_Qutiliza sockets para funcionar dentro de nuestro propio ordenador
Dr_Qhe dicho en la deficinion
Dr_Qque la comunicacion la hacemos usando descriptores de ficheros
Dr_Qy si, es asi... en realidad en linux todo son ficheros
Dr_QY la comunicacion entre varios ordenadores
Dr_Qtambien lo es. A este tipo de ficheros podemos llamarle sockets
Dr_QEsto claramente es una ventaja
Dr_Qporque si ya has hecho alguna vez algun programa utilizando php
Dr_Qy has hecho cositas con ficheros
Dr_Qya tienes la mitad del camino recorrido
Dr_QYa que su gestion es muy muy parecida, al menos cuando vemos los sockets desde el punto de vista del cliente
Dr_QPor lo tanto, si has usado ficheros en php, ya sabes programar con sockets....
Dr_Q¿queee... contentilloooss eins?
Dr_Qbueno sigamos, que veremos algunas diferencias...
Dr_QPero claro ahora estareis pensando.... ¿y de donde me saco yo
Dr_Qun descriptor de ficheros para comunicarme con otro ordenador, listillo?
Dr_QPaciencia paciencia, que si lo cuento aqui todo voy a tener que quitar la
Dr_Qpalabra breve del titulo de este punto en lo que estamos que si habeis
Dr_Qleido era "Breve introduccion".
Dr_QExisten muchos tipos de sockets
Dr_Qno todo son iguales....
Dr_Qentre ellos contamos con los
Dr_QDARPA: Que son los que comunmente utilizamos en internet
Dr_QRuta de nodos locales
Dr_Qque son los tipicos sockets de unix
Dr_Qotros para el protocolo x.25
Dr_Qpero en esta charla nos centraremos en los primeros
Dr_Qya que nos tenemos que centrar un poco en php
Dr_Qy por tanto en internet
Dr_QNo desespereis que pronto acabo con la introduccion pero creo que es importante
Dr_QExisten dos grupos principales de sockets
Dr_Qdebe usar tcp que nos asegura un orden correcto en la llegada de los paquetes
Dr_Qya que si tu usuario es fernand0
Dr_Qy llega erf0dna
Dr_Qprobablemente no te valides nunca
Dr_Qes importante el orden
Dr_QBueno... centremonos en el tema... vayamos a internet
Dr_Qen php vamos a usar
Dr_Qfundamentalmente dos tipos
Dr_Qlos tcp y los udp
Dr_Qque en php son respectivametne SOCK_STREAM
Dr_Qy SOCK_DGRAM
Dr_QNo obstante. Si despues de esta charla os animais a meterle manos a los sockets, yo
Dr_Qos aconsejaria mirar el SOCK_RAW, despues de SOCK_DGRAM y SOCK_STREAM.
Dr_Qmira por donde
Dr_Qya sabeis de donde viene el nick de RawSock
Dr_Q:-)
Dr_Q2. Preparando php para poder utilizar los sockets
Dr_Qya estamos en el punto 2, poco a poco os queda menos de suplicio
Dr_QEn este apartado os tengo que dar dos noticias, una buena y otra
Dr_Qmala.
Dr_QLa mala es que si no habeis utilizado sockets con php todavía, es
Dr_Qmuy probable que el php que tengais compilado no os sirva para poder
Dr_Qutilizar las fucniones relaccionadas con los sockets.
Dr_Q!ah vale! entonces cual es la buena noticia? ..
Dr_QPues que es muy facil prepararlo para que si lo esté. Para ello
Dr_Qteneis que ejecutar el ./configure, añadiendo a vuestra opciones habituales
Dr_Qla opcion --enable-sockets
Dr_Qes imprescindible hacer esto si quereis hacer algo con los sockets en php
Dr_QUna vez compilado con estas opciones de configuracion, tu php
Dr_Qentendera ya las instrucciones de los sockets que mas abajo describiré.
Dr_Q3. Dos formas de hacer las cosas
Dr_Qiupiii! ya estamos en el 3. 4 mas y terminamos :-)))
Dr_Qhasta las ultimas versiones de php
Dr_Qel lenguaje no daba soporte para la programacion de aplicaciones "servidores"
Dr_Qpero si nos daba un soporte para la programacion de programas clientes
Dr_Qya sabeis "los clientes siempres son lo mas importante"
Dr_Q:-)
Dr_Qpor tanto es desde el punto de vista del cliente
Dr_Qdesde el que php nos permite dos formas de hacerlo
Dr_QVeamos una forma sencilla de hacer una comunicacion con sockets a un
Dr_Qservidor, desde php.
Dr_QLo primero que tenemos que hacer es abrir la conexion...¿como hacemos
Dr_Qesto? Pues muy facil, una vez que tenemos claro, el host al que
Dr_Qqueremos conectarnos y el puerto, ya tenemos la mitad del camino recorrido
Dr_Qlo siguiente, es contarle nuestras intenciones a nuestro ordenador.
Dr_QPara ello utilizamos fsockopen que sigue la siguiente sintaxis.
Dr_Qint fsockopen (string [udp://]hostname, int port [, int errno
Dr_Q                      [, string errstr [, float timeout]]])
Dr_Qun ejemplo lo dejara mas claro:
Dr_Q<?php
Dr_Qif (!$fp) {
Dr_Q                          echo "$errstr ($errno)<br>\n";
Dr_Q} else {
Dr_Q                fputs ($fp, "GET / HTTP/1.0\r\nHost: www.php.net\r\n\r\n");
Dr_Q                   while (!feof($fp)) {
Dr_Q                   echo fgets ($fp,128);
Dr_Q}
Dr_Qfclose ($fp);
Dr_Q}
Dr_Q?>
Dr_Qfijaros que no bromeaba al decir que el tratamiento de los sockets en php es muy muy parecido al tratamiento de los ficheros
Dr_Qsi la linea en la que abrimos el sockets fuera... fopen(nombre_fichero, "w+")
Dr_Qel resto del programa podria ser casi identico
Dr_Qpor tanto desde el punto de vista del cliente, php nos da un interfaz identico, para que no nos quejemos mucho
Dr_Q.-)
Dr_QDe hecho cuando hacemos un cliente en php utilizando sockets
Dr_Qpodemos pensar
Dr_Qque el sockets no es mas que un fichero especial que abrimos como en el ejemplo se indica
Dr_Q4. Sockets en php. Funciones utilizadas.
Dr_Qvenga animo!!!
Dr_Qeste punto es un poco aburrido
Dr_Qpero quiero explicaros las instrucciones relacionadas con los sockets que php nos proporciona, ahora si!! tanto para clientes como para servidores
Dr_Qpara que los ejemplo que ponder en el otro punto, sean mas entendible
Dr_Qint socket (int domain, int type, int protocol)
Dr_Qsocket, crea un socket
Dr_Qen domain, normalmente ponemos AF_INET cuanto estamos con aplicaciones de internet
Dr_Q- bind: Asocia el socket a una direccion y puerto.
Dr_Qint bind (resource socket, string address [, int port])
Dr_Qbind($socket,"www.xphera.com",80)
Dr_Qen socket ponemos la variable devuelta por el socket previamente llamado
Dr_Qadress seria la ip o host, y el puerto al que asociamos la escucha del socket
Dr_Q- listen Se pone a escuchar
Dr_Qint listen (resource socket, int backlog)
Dr_Qlisten($socket,5);
Dr_Q
Dr_Qel backlog, es el numero de peticiones que encola
Dr_Q- accept_connect: Acepta conexiones
Dr_Q        int accept_connect (resource socket)
Dr_Q        accept_connect($socket);
Dr_Q- read Lee de un socket
Dr_Q{
Dr_Q}
Dr_Qsi si ya se
Dr_Qya se lo que me vais a decir
Dr_Qque para eso esta el fget
Dr_Qy si es cierto, pero con read y write tenemos un mayor control sobre que escribimos y leemos de los sockets
Dr_Q- write Escribe en un socket
Dr_Q
Dr_Q
Dr_Q- close
Dr_Q  Cierra el socket.
Dr_Q
Dr_Q5. Una mala noticia:
Dr_Qha sido corto el 4
Dr_Qpara que no chilleis
Dr_Qla mala noticia que os queria contar es la advertencia que desde la pagina web  oficial de php se nos hace
Dr_Qy es la siguiente
Dr_QThis extension is EXPERIMENTAL. The behaviour of this extension, including the names of its functions, and anything else documented about this extension may change in a future release of PHP without notice. Be warned and use this extension at your own risk.
Dr_Qsignifica esto que no funciona bien
Dr_Qno
Dr_Qsignifica que el interfaz, tanto lo que devuelve, como la forma en como llamamos a estas funciones
Dr_Qpuede cambiar sin previo aviso
Dr_Qajaaa!! estonces esto es un contradios, yo paso de usar entonces lo sockets en php no? pues un no rotundo
Dr_Qlo que pasa es que tenemos que tomar nuestras precauciones
Dr_Qy en este punto
Dr_Qos voy a contar lo que podeis hacer para que eso no os afecte
Dr_Qla idea, no es otra que programar vosotros, una capa por encima de php para el uso de los sockets
Dr_QQue quiero decir con todo esto!!
Dr_QPues que nos hagamos nosotros una clase propia que acceda a todas las
Dr_Qfunciones relacionas con los sockets que queramos utilizar, y que
Dr_Qnuestra aplicación en vez de llamar a las funciones de sockets
Dr_Qdirectamente, lo haga utilizando nuestra clase.
Dr_Q De esta forma, en el caso
Dr_Qen el que cambien el interfaz de las funciones de php, nosotros,
Dr_Qtan solo tendremos que cambiar esta clase nuestra, en vez de andar
Dr_Qbuscando por todos los lugarse de nuestra aplicación para cambiar la
Dr_Qllamada o incluso los valores de retorno pueden ser distintos.
Dr_Qsi eso dicho dicho asi suena mu bonito,...pero...ponnos un ejemplo...
Dr_Qpues ahi va...
Dr_Qimaginaros que vamos a usar la funcion bind
Dr_Qpara ello podemos recubrilo de la siguiente forma
Dr_Qclass my_sockets
Dr_Q{
Dr_Q  function my_bind($sock, $address, $port)
Dr_Q    {
Dr_Q       $resultado = bind ($sock,$address, $port);
Dr_Q       return $resultado;
Dr_Q    }
Dr_Q}
Dr_Qesta clase propietaria nuestra
Dr_Qtiene una funcion my_bind que es la que debemos usar, que es la que se encarga de llamar a la de php
Dr_Qque consigo con esto
Dr_Qpues bien..
Dr_QImaginemos ahora que en la proxima version de php, resulta
Dr_Qque han cambiado el valor de vuelta y devuelve un array hash tal que
Dr_Qasi
Dr_Q  $vh_sock[value] ; el valor que devolvia en la version anterior
Dr_Q  $vh_sock[error] ; un codigo de error, si algo falla.
Dr_QY que ademas han decidido cambiar el nombre de la funcion para que quede
Dr_Qmas claro su uso, y que la anterior bind deja de existir. Pasandose a
Dr_Qllamar ahora la funcion bind_value_error. Y no solo eso, sino que además, se les ha
Dr_Qocurrido un nuevo parametro obligatorio que indica si queremos que se
Dr_Qguarde un log de errores o no.
Dr_Q Quedando el nuevo bind de la siguiente manera
Dr_Q$vh_sock function bind_value_error($sock, $address, $port, $error_log)
Dr_Q  
Dr_Qesto lo pueden hacer los desarrolladores de php puesto que asi lo advierten en sus paginas oficiales
Dr_Qpues bin
Dr_Qbien
Dr_Qsi nosotros hemos tenido la precaucion de hacernos nuestra clase
Dr_Qy ahora cojemos y la modificamos de la siguiente manera
Dr_Qclass my_sockets
Dr_Q{
Dr_Q  function my_bind($sock, $address, $port)
Dr_Q    {
Dr_Q       $resultado = bind_value_error ($sock,$address, $port, 0);
Dr_Q       return $resultado[value];
Dr_Q    }
Dr_Q}
Dr_Qnuestra aplicacion seguiria funcionando perfectamente
Dr_Qya que el interfaz de my_bind, tanto entrada como salida, se queda identico
Dr_Qya nos pueden cambiar el interfaz del bind tanto como quieran que nuestras aplicaciones seguiran funcionando correctamente
Dr_Q:-), y el trabajo invertido en la realizacion de esa clase, solo va a ser comparable a la satisfaccion que te da cuando ves que el problema lo solucionas cambiando dos linesa
Dr_Qen vez de miles que te podria suponer lo otro
Dr_QEsto es solo un ejemplo básico pero sin duda podriamos tener mucho mas
Dr_Qcontrol sobre lo que queremos hacer. Pero bueno.. eso seria ya hablarlo
Dr_Qen otra charla sobre programación orientada a objetos, porque desde
Dr_Qluego yo... no haria nada con algo que no fueran objetos, pero eso
Dr_Qya se sale de esta charlita.
Dr_Q6. Ejemplos de todo esto
Dr_Qvamos a lo practico
Dr_Qahora voy a poneros unos ejemplos
Dr_Qen los que que vais a poder ver
Dr_Qtodo esto que os ando contando
Dr_Qestos ejemplos me los cedio un amigo mio llamado Bolotron al cual le mando desde aqui mis agradecimientos
Dr_QLISTADO 1.
Dr_Q#!/usr/bin/php -q
Dr_Q<?
Dr_Qif(!$fp)
Dr_Q{
Dr_Q        echo "Fallo la conexi\xf3n.<br>\n";
Dr_Q}
Dr_Qelse
Dr_Q{
Dr_Q        fputs($fp,"GET / HTTP/1.0\n\n");
Dr_Q        while(!feof($fp))
Dr_Q        {
Dr_Q                echo fgets($fp,128);
Dr_Q        }
Dr_Q        fclose($fp);
Dr_Q}
Dr_Q?>
Dr_Qeste sencillo ejemplo, es un cliente web
Dr_Qque hace una llamada al host que le pasemos como parametro
Dr_Qy recoge, los 128 caracteres primeros que el servidor le envia
Dr_Qy lo muestra por pantalla
Dr_Q<?php
Dr_Q if ($socket < 0)
Dr_Q {
Dr_Q     echo "fallo la llamada a socket()\n";
Dr_Q }
Dr_Q echo "Conectando con '$direc' en el puerto '$puerto'...";
Dr_Q if ($result < 0)
Dr_Q {
Dr_Q     echo "Fallo en connect().\n";
Dr_Q } else {
Dr_Q     echo "OK.\n";
Dr_Q }
Dr_Q echo "Enviando petici\xf3n web...";
Dr_Q write($socket, $in, strlen($in));
Dr_Q echo "OK.\n";
Dr_Q echo "Leyendo la respuesta\n\n";
Dr_Q while (read($socket, $out, 1024))
Dr_Q {
Dr_Q echo "$out\n";
Dr_Q }
Dr_Q echo "Cerrando el socket...";
Dr_Q close($socket);
Dr_Q echo "OK.\n\n";
Dr_Q ?>
Dr_Quna cosa parecida pero con las ultimas instrucciones añadidas por php
Dr_QPero la unica manera de ver como todo esto funciona bien es pelearse con todo esto
Dr_Qun listado tan solo va a servir para aclarar un poco las ideas para nada mas
Dr_Q7 . Donde buscar mas informacion
Dr_QMas informacion sobre tcp: RFC-793  
Dr_Qhttp://www.rfc-editor.org/rfc/rfc793.txt
Dr_QMas informacion sobre udp: RFC-768
Dr_Qhttp://www.rfc-editor.org/rfc/rfc768.txt
Dr_QPor supuesto en www.php.net
Dr_QBueno, muchas gracias por asistir y aguantar estoicamente este rato que me ha encantado compartir con vosotros
Dr_Qy espero
Dr_Qque esto sea el principio de vuestra andadura por el mundo de los sockets con php
Dr_Qespero que os haya servido de ayuda
Dr_QMuchas gracias a todos :-)
viZardplas plas plas plas plas plas plas plas plas plas
viZardplas plas plas plas plas plas plas plas plas plas
viZardplas plas plas plas plas plas plas plas plas plas
viZardplas plas plas plas plas plas plas plas plas plas
Orozgracias a ti Dr_Q
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Stonclap clap clap clap clap clap clap clap
Orozquien tenga alguna pregunta este es un buen momento :) (después de los plasclap ;)
coxbravooooo
viZard;)
Dr_Qgracias... en la proxima que haga. mas y mejor
coxvaya q desastre.. me la perd´i casi completa
coxQ: algun doc al q referirse sobre tu conf?
Dr_Qcox, te la doy a ti en privado cuando quieras :-)
Dr_Qcox voy a corgar un pdf mañana o pasado
Rawsockwhile(TRUE){clap;}
Dr_Qa ver si saco un rato
Dr_Q:-)
coxDr_Q: grachie
Dr_QRawsock: hombre, un tipo de sockets miralo, ademas habla!!!
Orozcox: el log estará mañana en la página del umeet
StonDr_Q: enviame ese pdf ;)
coxpreguntas se aceptan?
Rawsocksnif snif
Dr_QSton: vale
Dr_Qclaro
Rawsockno tengo protocolo XD
Dr_Q:-)))
Dr_Qpero eres un socket puro y duro
coxDr_Q: como va de eficiencia?
Dr_Q:-))
Chesssplash splash splash splash splash splash
Chesssplash splash splash splash splash splash splash splash
ismakplas plas plas plas plas plas plas plas plas plas
ismakplas plas plas plas plas plas plas plas plas plas
ismakplas plas plas plas plas plas plas plas plas plas
Dr_Qcox, sinceramente, los experimentos que he hecho cuando
ismakplas plas plas plas plas plas plas plas plas plas
ismakbravo  
Dr_Qel programa lo ejecuto desde un cliente web
Dr_Qno va demasiado rapido
Dr_Qde hecho
Dr_Qcreo que el problema no es del php, sino de lo que sobrecarga el ordenador el apache con los procesos que lanza
Dr_Qya que esos mismos programas, ejecutados desde la linea de comandos con php -f
Dr_Qva bastante rapido
Dr_Qactualmente estoy haciendo un proyecto con la universidad de malana
Dr_Qmalaga
coxDr_Q: y no iria mejor usando inetd?
Dr_Qen el que mi aplicacion recibe peticiones de un cliente, y voy a pedirlas a un programa servidor programado con tcl
Dr_Qpues cox, supongo que la carga seria inferior
Dr_Qpero aunque la logica me dice que si
Dr_Qno te lo puedo asegurar
Dr_Qporque yo siempre tengo el apache como demonio
Dr_Qme lo apunto como deberes :-)
coxDr_Q: y la concurrencia es algun problema? o solo menaja peticiones de una en una?
Dr_Qno
Dr_Qen la charla comento
Dr_Qque..
Dr_Qint listen (resource socket, int backlog)
Dr_Qlisten($socket,5);
Dr_Qdonde el backlog, indica el numero de peticiones que permites encolar
Dr_Qno obstante, se abren nuevos hijos para atender concurrentemente
Dr_Qpero eso lo hace el apache
Dr_Qsi lo lanzas desde web
coxah claro
coxyo tenia la idea de hacerlo desde la linea de comandos
Dr_Qaja,
Dr_Qyo desde la linea de comandos hice experimentos encolando peticiones
Dr_Qno entre muy en profundidad en como se comportaba desde la linea de comandos
coxmmm
Dr_Qlo hice cuando lo lanzaba de web porque me vi en la necesidad debido a que a veces se me colgaba un poco
Dr_Qpero
Pablocvkel url de la página de umeed?
Dr_Qera debido tambien a un fallo en la programacion
Dr_Qporque saturaba al sistema con conexiones que no utilizaba
Dr_Qy llegaba al numero maximo de conexiones
coxcrees q la extension es suficientemente estable para ponerla en produccion?
Dr_Qseria cuestion de hacer un estudio sobre el rendimiento mas en profundidad
Dr_Qyo personalmente, si es para hacer un cliente, creo que si, pero para la programacion de un servidor
Dr_Qyo no pondria de momento la mano en el fuego
Dr_Qlo haria con otros lenguajes mas testeados, como nuestro amigo C
coxya
coxbueno.. gracias :)
Dr_Qphp lleva con esta extension
Dr_Q4.0.2
coxsi yo la he probado muy rusticamente para una cosilla q tenia en mente
Dr_Qsi yo fuera el que decidiera
Dr_Qsi meter una aplicacion hecha con php para montar un servidor fiable que anduviera en internet
Dr_Qteniendo en cuenta la advertencia que hacen ademas en www.php.net
Dr_Qmi decision seria NO
Dr_Qesperaria un par de versiones mas al menos
Dr_Qaunque para experimentar que es lo que a mi me gusta, entonces si.
coxya.. de todas maneras si usas inetd el problema se acaba ya q es ´el el que se encarga del tema de los sockets y PHP solo de interpretar el protocolo/ordenes
coxaunq no se inetd como va de optimizado para cierta carga
Dr_Qquizas con xined
Dr_Qque parece venir mas optimizado
!compendium.ar.uninet.edu! HACK Caroline MODE #la +tn [1008015045]
coxmenuda sintaxis endemoniada el xinetd, con lo facil q era inetd :-P
Dr_Qcox, si me guardas un secreto
Dr_Qyo sigo usando inetd a pesar de lo que dicen de xinetd :-)
cox(asi en privado no? ;)
Dr_Qsi si
coxhehe
Dr_Qigual que uso ipchais en vez de iptables, aunque a esto me tendre que cambiar pronto :-)
coxipchains se sale.. claro q si
Dr_Qademas
Dr_Qes lo que yo siempre digo
Dr_Qsi en autovia no puedes pasar de 120, para que quieres un formula 1?
Dr_Qel formula 1 es para cuando lo necesites
Dr_Qpero para llevarlo en segunda, no te merece la pena
Dr_Qademas te consume mas (en nuestro caso, recursos del sistema)
Dr_Qmas preguntas
Dr_Q!
cox(yo no molesto mas :)
CarolineHola
Pablocvksi, de donde saco el log de este chat desde el principio
Pablocvk?
Dr_Qpues
CarolineHola a todos
coxhola Carol
CarolineCómo ets
CarolineComo estás???
Dr_Qun segundo que he visto unas imagenes en la television que me he quedado un poco pillado
Dr_Qla url es umeet.uninet.edu
Pablocvkgracias
coxbueno Q, muchas gracias por la conf.. da gusto
Dr_Qcox, un placer
Dr_Qformar parte de todo esto
Pablocvkhay previstas conferencias similares sobre temas afines a php?
OrozPablocvk: creo que no
OrozPablocvk: mira el programa por si te interesa http://umeet.uninet.edu/umeet2001/spanish/prog.html
coxPablocvk: creo q no.. pero podrian haber mas desde luego
coxpara una vez q se juntan desarrolladores de PHP
zeroghi all
ismaksiempre se puede ampliar el programa del umeet con nuevas charlas
Chessno estaria mal
Pablocvkpodemos aprobechar para proponer algun tema
Chesspues tocado ya PEAR y Sockets, ...
Dr_Qpara PEAR yo creo que cox es el mas indicado
ismakBueno, pues vamos a dar la gracias a nuestro amigo chema por la estupenda charla realizada
Dr_Qchema?
Dr_Qquien es chema?
ismaky mañana o pasado tendremos el log de la charla en la web
coximak: me quede flipado el otro dia con los logos de EL PAIS
ismakpor Jose
coxismak: php, apache, linux.. una caña
ismakcox: los de septiembre?
Carolinehola
coxelpais.es
ismakcox: y los nuestros? no los vistes?
Carolinehola
Dr_Qcox: y no vistes el de vi powered :-)?
ismakcox: nos superaron en unas 600000 paginas
coxjojoj.. ese se salia
Dr_Qel de vi era muy fuerte :-)))
ismakaah, ok me fui por otro lado ;-)
coxDr_Q: me parece buena idea.. no os hace q sea en efnet y en ingles? (sugerencia)
ismakentendi logs en vez de logos
ismak;-)
Dr_Qcox
ismaknosotros vamoa poner uno que pongo : Powered by Echo....  X)
Dr_Qa mi en principio me da igual
Dr_Qaunque me gustaria tirar un poco para un servidor español
Dr_Qen fin me da lo mismo
coxismak: X-DD
coxDr_Q: es q como siempre estoy enchufado por alli, cosas de ser un poco perro ya sabes :)
coxDr_Q: php_guru? X-DD
Dr_Qhehehehehe
Dr_Qlo habia pensado
Dr_Qpero no me gusta mucho :-)
coxpor cierto.. un colega me dio una dire el otro dia: cox@phpguru.org.. se sale eh?
coxchincha chincha
Dr_Qhehehe
Dr_Qlo flipas
Dr_Qque me de a mi otra
MrMisteryeh?
MrMisteryla charla de buffer overflow es en ingles, no?
coxle dije q las vendiera, seguro q iba a poder sacarles partido
Dr_Qmirando el titulo y viendo que el tio es de usa yo diria que si
MrMisterypero es que en USA hay muchos latinos xD
MrMisteryy uno nunca sabe
coxnop.. es ingles
!compendium.ar.uninet.edu! HACK ismak MODE #php_ideas +tn [1008016541]
coxigual alguna vez has usado la html.mail.smpt.class
coxes el autor de ella
Pablocvk... si montais más chats enviadlo a lista@phpes.com, y gracias por todo
viZardhecman !
peter111hi ziZard
hecmanhoaas vizard
peter111hi hecman!
RawsockMrMistery: muchos ?
ToniSBbuenas
Rawsockmillones
Rawsockla matoria en NY
Rawsocks/matoria/mayoria/
kingdsandalguno de ustedes me puede ayudar con unas funciones de PHP
ismakkingdsand: pregunta
coxadelante kind
coxoops :)
kingdsandvoy a pegar el codigo para ke me entiendan mejor
fernandore
hecmanre
coxfe0
fernandoguaxpo
kingdsand         {
kingdsand         }
kingdsand         echo ("</select");
kingdsanden este select escojo un codigo dentro del select y se lo quiero pasar a una funcion en java
kingdsandpara que me retorne la descripcion pero no pasa nada
kingdsandesto es el codigo de java
Dr_Qpero eso depende de lo que pongas en el action del form
kingdsandcomo que depende
Dr_Qah pera
!bio.hgy.es! Remote CONNECT irc.us.uninet.edu 4400 from MJesus_
Dr_Qtu dices que salta cuando on select no?
!bio.hgy.es! Remote CONNECT irc.us.uninet.edu 4400 from MJesus_
Dr_Qpero esa funcion que tu pones ahi que es una funcion en php?
Dr_Qporque si es en php eso no te funciona
Dr_Qeso tiene que ser una fucnion en javascript
Dr_Qel php se interpreta en el servidor
Dr_Qy fun_descr() tiene que ser en todo caso una fucnion en php
Dr_Qen javascript perdon
kingdsandsi
c0rEdbuenas
c0rEdcuanto falta para que comience la conferencia
viZardminutos
c0rEdviZard oye recibiste el email
c0rEdviZard el primo quiere entrar lo viste
viZardel de ayer?
kingdsandese es el que genera el combo del select y con onselect lo paso a una funcion en javascript
viZardahh, con que era espia
Stonc0rEd: mira tu reverse lindo ;)
Carolinehola
Stonah sigo en trabajo...!
c0rEdSton mi reverse de que hablas
c0rEdviZard si el era un espia
Dr_Qy entonces
Dr_Qque probrema tienes
Dr_Qdonde esta ahi el java?
c0rEdviZard har har har el es Gump el entra a linuxlatino
hecmanjojo
hecmanhola ston
c0rEdviZard dime le digo si o no
Dr_Qkingdsand: ya se lo que te pasa
viZardanuncialo  en la lista
Dr_Qya se
c0rEdviZard ya lo mande
kingdsandque pasa dime
Dr_Qkingdsand: tas por ahi?
viZardrevisaron sus cuentas de correo?
kingdsandsi
Dr_Qmira
kingdsand4[Dr_Q4] 1si dime
kingdsand[Dr_Q] si dime
Dr_Qte ha dado por mirar en el codigo fuente que te genera
Dr_Q¿?
Dr_Qveras que detras del value
Dr_Qlo que tienes para todo los casos es
viZardlluvia de nuevo. no tardo en caerem
Dr_Q $txt_v_codi
Dr_Qen vez del valor de esa variable
Dr_Qy eso te pasa porque lo que esta entre comillas simpre no se evalua
Dr_Qtienes que poner
c0rEdviZard tu lo tienes que revisar
Dr_Qasi seguramente te funcionara
viZardquien es ramon martinez?
kingdsand4[Dr_Q4] 1pruebo y dentro de un momento te aviso dime lo mismo tengo que hacer con la parte donde va el select
kingdsand[Dr_Q] pruebo y dentro de un momento te aviso dime lo mismo tengo que hacer con la parte donde va el select
kingdsand4[Dr_Q4] 1para que se pueda ejecutar el Onselect
kingdsand[Dr_Q] para que se pueda ejecutar el Onselect
c0rEdviZard quien tu crees
c0rEdviZard solamente leelo tu sabes la paranoia
Dr_Qasi se te evalua $txt_v_codi por el valor
viZardje

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net!


Mas información: umeet@uninet.edu