Ejemplo básico de socket (cliente IRC)

Esto es un ejemplo básico del uso de sockets como cliente.

 

# Creo el socket y guardo el ID en la variable "sock"
set sock [socket irc.chathispano.com 6667]
# Con fconfigure indico que quiero leer línea a línea
fconfigure $sock -buffering line
# Con fileevent activo el proc que leerá la conexión
fileevent $sock readable [list sockRead $sock]
puts $sock "NICK es_eggdrop"
puts $sock "USER es_eggdrop * * :es_eggdrop"

proc sockRead {sock} {
	if {[eof $sock]} {
		putlog "Conexión cerrada."
		close $sock
		return
	}
	gets $sock line
	putlog "Recibido: $line"
	if {[lindex [split $line] 0] == {PING}} {
		puts $sock "PONG [lindex [split $line] 1]"
		putlog "PING? PONG!"
	}
}

if {[info commands putlog] eq ""} {
	proc putlog {line} {
		puts $line
	}
}
# Ya que en tcl puro no existe un bucle infinito que mantenga a la escucha 
# el intérprete, con esto lo forzamos. No es necesario en eggdrop
vwait forever

One Response to “Ejemplo básico de socket (cliente IRC)”

  1. xorge

    Hola me gusta mucho esta apgina, quisiera saber como harian para mostrar una variable get o post desde un archivo php subido a un hosting es decir algo asi:

    !msgDia Todo es mas bonito cuando tienes a Dios a tu lado
    Tu mensaje se ha agregado puedes verlo aqui: http://servidor.com/mensaje.php?msg=Todo+es+mas+bonito+cuando+tienes+a+Dios+a+tu+lado

    me ayudaria mucho que me respondieran esa duda.

    Gracias

    Responder

Leave a Reply to xorge

Clic para cancelar respuesta.