Page 1 of 1
servidor dbf (eleben) 2da revision web con php
Posted: Mon Aug 20, 2012 6:32 pm
by benjiben143
Hola buenos dias
anexo un modulo de cliente servidor realizado con la clase tsocket
el cual por lo pronto hace la conexion al servidor
regresa las bases de datos
regresa la estructura de una base de datos
regresa el contenido de un archivo (20 registros por lo pronto ) despues genero el pagineo completo
son modulos bases , el cual nos permitiria anexar cualquier peticion del cliente al servidor
se puede meter
cualquier funcion de bases de datos
como
append blank, replace, dbrlock,dbunlock, dbcreate, filtros ect, indexado
modulo servidor
http://www.eleben.com.mx/elebens.prg
modulo cliente
http://www.eleben.com.mx/elebenc.prg
falta validaciones que poco a poco ire metiendo ,, pero con esto nos damos una idea como realizar un servidor dbf
pasos :
1- ejecutar el servidor (elebens.prg) en cualquier carpeta que contenga dbf las cuales son las que van a manipular
2.- ejecutar el cliente (elebenc.prg)
saludos
Re: servidor dbf (eleben) primer revision
Posted: Mon Aug 20, 2012 7:10 pm
by Lautaro
Hola benjiben143 ,
Creo que puedes ver el hbnetio de harbour que implementa esta funcionalidad, creo que completa, te puede servir para ejemplo o ver como hacer
Saludos,
Lautaro Moreira
Re: servidor dbf (eleben) primer revision
Posted: Mon Aug 20, 2012 10:36 pm
by benjiben143
ok,gracias le hecho un vistaso
saludos
Re: servidor dbf (eleben) primer revision
Posted: Tue Aug 21, 2012 4:21 pm
by wmormar
ben10,
Excelente aporte.
Re: servidor dbf (eleben) primer revision
Posted: Wed Aug 22, 2012 8:21 am
by hmpaquito
Hola,
SÓLO por si puede servir la info:
En Harbour existen Rdds Cliente-Servidor:
- LetoDb
- Pritpal Bedhi Cliente-Servidor (desconozco el nombre del rdd), basado en hbNetio, que al parecer dejó muy avanzado pero por al parecer por falta de interés de los colegas abandonó su desarrollo. Creo que este es una muy buena opcion porque permite heredar de cualquier Rdd ya existente en Harbour, en intuyo que su potencia, si se probara y terminara sería mayor que la de LetoDb.
Saludos
Re: servidor dbf (eleben) primer revision
Posted: Wed Aug 22, 2012 2:27 pm
by benjiben143
hola buenas buenas
de antemano este pequeño avanze me sirvio en una empresa donde lo estan probando y estan contentos con la presentacion de la informacion por internet si usar sql, mysql y mucho mas rapido los browse en la red local ( aqui mando una lista de 20 registro , en donde lo estan probando manda todo el archivo empaquetado el cliente lo recibe y se procesa localmente la informacion )
a si mismo un reporte de x base de datos por x filtro tambien esta implementado
la ventaja de esto para mi , que viene como crear el servidor como mandar la peticion y recibir la peticion procesarla y mandarla a cliente
se que es el primer paso pero las peticiones las hice en un ratito donde batalle fue por la clase tsocket para el envio de la informacion pero haciendo pruebas quedo muy bien asta podemos mandar archivos completos zip o de grandes cantidades (ya probado )
saludos ,,,
Re: servidor dbf (eleben) primer revision
Posted: Wed Aug 22, 2012 3:08 pm
by wmormar
benjiben143,
Amigo, los comentarios de los colegas son para que veas otras opciones, claro esta que tu avance es mucho muy importante, y desde luego, lo que vale es el esfuerzo que cada quien imprime a sus logros.
Colegas, lo que hizo Ben10 no es buscarle la vuelta a la rueda, sino es algo que generó en base a una necesidad propia, hay que aplaudir su entusiasmo y sobre todo dedicación.
Pero de sobre manera su entusiasmo por aportarlo a la comunidad, habemos muchos que solo somos espectadores y que estos aportes nos sirven de mucho...
Y los que conoces otras herramientas deben exponerlo de igual manera, asi no se le busca la vuelta a la rueda....
Re: servidor dbf (eleben) primer revision
Posted: Fri Aug 24, 2012 4:16 pm
by benjiben143
hola buenas buenas ...
ya que actualizada con el browse ya listo con
avanze de pagina
regreso de pagina
inicio de pagina
final de pagina
el cliente
http://www.eleben.com.mx/elebenc.prg
el servidor
http://www.eleben.com.mx/elebens.prg/
saludos ...
Re: servidor dbf (eleben) primer revision
Posted: Mon Aug 27, 2012 8:29 pm
by benjiben143
hola ,,, con una pequeña adecuacion en la clase tsocket , al momento de mandar los mensajes ya es multiusuario
modificacion en clase tsocket,,, en el metodo senddata ,,,, le mando el socket ya que con el anterior no mandaba el socket adecuado de la peticion
Code: Select all
claseMETHOD SendData( cData, Msoc ) CLASS TSocket
local nSize := Len( cData )
local nLen := nSize
local nSent := 0
if ! ::lSending
::lSending = .t.
else
AAdd( ::aBuffer, cData )
return nSize
endif
while ( nLen > 0 .and. ;
( nSent := SocketSend( msoc, cData ) ) < nLen ) .or. ; //-> aqui el agregue mosc,,, quitandole ::nsocket ya que ::nsocket no guardaba el ultimo socket
Len( ::aBuffer ) > 0
if ::lDebug .and. ! Empty( ::cLogFile )
LogFile( ::cLogFile, { "Sent:", nSent, "Len:", Len( cData ), "Buffer Len:", Len( ::aBuffer ), "Error:", WSAGetLastError() } )
endif
// Check for buffered packets to send
if nLen == 0 .and. Len( ::aBuffer ) > 0
cData = ::aBuffer[ 1 ]
ADel( ::aBuffer, 1 )
ASize( ::aBuffer, Len( ::aBuffer ) - 1 )
endif
if nSent != -1
cData = SubStr( cData, nSent + 1 )
nLen = Len( cData )
else
if WSAGetLastError() != WSAEWOULDBLOCK
// exit
endif
endif
SysRefresh()
end
// if ::lDebug .and. ! Empty( ::cLogFile )
// LogFile( ::cLogFile, { cData } )
// endif
::lSending = .f.
return nSize
por lo consiguiente el servidor elebens,, ya trabaja en modo multiusuario
servidor
http://www.eleben.com.mx/elebens.prg
cliente
http://www.eleben.com.mx/elebenc.prg
saludos
Re: servidor dbf (eleben) primer revision
Posted: Tue Aug 28, 2012 3:01 am
by sysctrl2
Coincido con el amigo, Willy, es bueno tener mas opciones
total, "Programar siempre sera un placer".
Re: servidor dbf (eleben) 2da revision web con php
Posted: Wed Sep 05, 2012 6:28 pm
by benjiben143
hola
le agregue conexcion con php
lo que hace es mostar via web las bases de datos del servidor con php sockets
que nos quiere decir que podemos mandar lo que queramos de las base de datos ,,,,
lo pueden bajar
http://www.eleben.com.mx/elebens.prg
http://www.eleben.com.mx/elebenc.prg
http://www.eleben.com.mx/sphp.php
archivo sphp.php
Code: Select all
/* Obtener el puerto para el servicio WWW. */
$service_port = 3850;
/* Obtener la dirección IP para el host objetivo. */
$address = gethostbyname('192.168.7.5');
/* Crear un socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "OK.\n";
}
echo "Intentando conectar a '$address' en el puerto '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
echo "socket_connect() falló.\nRazón: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "OK.\n";
}
$in = "PHP>BASES hola";
$out = '';
echo "Enviando petición EL SERVIDOR ELEEBEN ...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Leyendo respuesta:\n\n";
while ($out = socket_read($socket, 4048)) {
echo $out;
}
echo "Cerrando socket...";
socket_close($socket);
echo "OK.\n\n";
?>