FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ejemplo Socket asincrono
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM

Ejemplo Socket asincrono

Posted: Thu Jan 29, 2009 12:38 PM

Muy buenas, tengo que mandar un fichero a una direccion IP y a un puerto todo esto lo hace pero el oSocket:bClose = { || MsgInfo( "Server has closed!" ) } no funciona es decir yo cierro el socket pero no hace caso me gustaría saber como puedo borrar los datos del buffer y cerrar el socket una vez enviado el fichero con exito, mi ejemplo es:

function main(nIdWav)
local oWnd
if nIdWav<>nil
DEFINE WINDOW oWnd
ACTIVATE WINDOW oWnd on init (oWnd:Hide(),BarixConn(nIdWav,@oWnd))
end if
return

function BarixConn(nId,oWnd)
local oSocket,b:=.f.

oSocket = TSocket():New( 2020 )
oSocket:bConnect = { || iif(SendFile(@oSocket,nId),(oSocket:End(),oWnd:end()),)}    
oSocket:bClose   = { || MsgInfo( &quot;Server has closed!&quot; ) }
oSocket:Connect( &quot;192.168.0.200&quot; ) // use the server IP address here

return nil

function SendFile(oSocket,nId)
local cFileName := curdrive() + ":\" + curdir()+"\dirsound\"+alltrim(nId)+".mp3",b:=.f.
if ! Empty( cFileName ) .and. File( cFileName )
oSocket:SendFile( cFileName)
oSocket:Close()
b:=.t.
end if
return b

Por favor guiarme no se si la clase TSocket es muy antigua o no yo utilizo FWH 809.

Un Saludo.

Posts: 71
Joined: Fri Jan 11, 2008 06:55 AM

Re: Ejemplo Socket asincrono

Posted: Thu Jan 29, 2009 06:12 PM

Hola,

El Codeblock, solo se ejecuta, si la maquina a la que te conectas, ha cerrado el socket y/o perdido la conexion, por lo tanto si tu lo cierras, no tiene por que ejecutarse ...

oSocket:bClose = { || MsgInfo( "Server has closed!" ) }

Normalmente se utiliza ...

oSocket:bClose = {|| oSocket:Close() }

Saludos ...

Andres Reyes

{{{ ---- xharbour + Borland C --- }}}
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM

Re: Ejemplo Socket asincrono

Posted: Thu Jan 29, 2009 06:44 PM

dear andres ,
i MAKE A QUESTION TO YOU FOR YOUR EXPLORER BAR CLASS
i WANT CREATE IT INTO A DIALOG
BUT IT RUN ERROR
hOW i MUST MAKE IT ?

Best Regards, Saludos



Falconi Silvio
Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM

Re: Ejemplo Socket asincrono

Posted: Thu Jan 29, 2009 06:58 PM

Muchas gracias Andres, pero necesito cerrar el socket como sea, una pregunta se podría cerrar el socket y limpiar el buffer?

Un Saludo.

Posts: 485
Joined: Fri Feb 09, 2007 10:34 AM

Re: Ejemplo Socket asincrono

Posted: Wed Feb 04, 2009 12:52 PM

Muy buenas, sigo teniendo problemas con enviar un fichero a un dispositivo por socket pero el problema es que se queda enviando el fichero siempre,
¿Alguien me puede ayudar para ver como enviar un archivo y seguidamente cerrar la conexion?

Un Saludo.

Continue the discussion