Hola a todos:
Cuando hago hago una conexi贸n a un puerto y este no esta abierto, la aplicaci贸n me devuelve el error 10060.
La descripci贸n del error es "Time-out error ".
Hasta ah铆 todo funciona muy bien.
Lo que no he podido controlar es que mi aplicaci贸n no permita ejecutar otra acci贸n hasta que el socket reciba el mensaje del error y aut贸maticamente se cierre.
Esta es la funci贸n que estoy usando :
EL c贸digo funciona, sin embargo el periodo de respuesta es cuando menos 45 segundos y durante ese periodo de tiempo el sistema permite hacer cualquier acci贸n.
Hay alguna manera de que pueda controlar eso ?
Cuando hago hago una conexi贸n a un puerto y este no esta abierto, la aplicaci贸n me devuelve el error 10060.
La descripci贸n del error es "Time-out error ".
Hasta ah铆 todo funciona muy bien.
Lo que no he podido controlar es que mi aplicaci贸n no permita ejecutar otra acci贸n hasta que el socket reciba el mensaje del error y aut贸maticamente se cierre.
Esta es la funci贸n que estoy usando :
FUNCTION Client( oWnd )
LOCAL cIp
LOCAL cServer
LOCAL nPort := 2510
oSocket := TSocket():New( nPort )
oSocket:bRead := { | oSocket | OnReadClient( oSocket ) }
oSocket:bConnect := { | oSocket , nErrorCode | ClientSend( oSocket , nErrorCode ) }
oSocket:bClose := { || MsgInfo( "El Servidor cerro la sesion" ) , GetApp():oWnd:End() }
oSocket:Connect( GetApp():cServer , nPort )
oSocket:Listen()
RETURN( NIL )
FUNCTION ClientSend( oSocket , nError )
IF nError == 0
oSocket:SendData( "START "+GetHostName()+ " conectado desde "+ oSocket:cIPAddr+ " a las "+Time())
ELSE
MsgStop( "Error conexion..." + Str( nError ) +CRLF )
GetApp():oWnd:End()
ENDIF
RETURN( NIL )EL c贸digo funciona, sin embargo el periodo de respuesta es cuando menos 45 segundos y durante ese periodo de tiempo el sistema permite hacer cualquier acci贸n.
Hay alguna manera de que pueda controlar eso ?
Vikthor