PDA

Ver la Versión Completa : Problema al Cerrar SocketConnection....


AGAG4
15-07-2005, 01:56:56
Estoy Desarrollando una Aplicación en 3 Capas, estoy usando por el lado de la capa intermedia(Servidor de Aplicaciones) lo siguiente:
En el Remote Data Module tengo las siguientes Características cuando lo Genere:
**CoClassName=rmd_ModuloRemoto
**Instancing=Multiple Instance
**Threading Model=Apartment
Nota: Estoy usando en este modulo los componentes BDE, uso para conectarme DataBase, TSession, Query's y UpdateSQL que los enlazo a los Query's que estos mismos los enlazo a los Provider's, DesActivo a todos los Compoentes (Active=false) y en el TSession activo las propiedades Active, AutoSessionName y KeepConection.

El Cliente:
Agrego un Nuevo DataModule le agrego un TSocketConnection, ClientDataSet Enlazados a los Provider's del Remote Data Module.. hasta aqui vamos Excelente, Pero tengo 2 Grandes Problemas, Tengo una aplicación donde Grabo ciertos Registros, Que Hago con esta Aplicación????, lo que hago es Activo el Componente TSocketConnection(Connected=TRUE) y también el ClientDasaSet correspondiente(Active=TRUE), Realizo las operaciones Pertinentes y al Cerrar la Aplicación Desconecto Primero los ClientDataSet's y El TSocketConnection (Connected=FALSE), Después de esto Reviso en la PC donde esta el Servidor de Aplicaciones(Remote Data Module) y me encuentro con la Sorpresa de que esta Abierto(Reviso el Programa Borland Socket Server), y si Vuelvo a Abrir Mi Aplicación me Marca el Siguiente Error...
DAX Error, Directory is Busy
Y en el Cliente Lanza la Excepción El Servidor Lanzo una Excepción,
Estes es el Primero Problema que tengo, ahora les menciono el Segundo Problema que Creo que es a causa del Primero, Si Quiero Abrir la Aplicación en 2 ó más PC's me marca el Mismo Error.

A alguien ya le paso esto????
Me Faltará algo en el Componente TSession????
Ó Tengo que cerrar el Servidor de Aplicaciones Manualmente en el RemoteDataModule ?????

Agradezco cualquier sugerencia.

AGAG4
16-07-2005, 00:35:19
Cosa muy curiosa que me ocurre, si Cambio a TRUE la propiedad Connected del TSocketConnection en modo de Diseño y después le cambio a FALSE y lo hago varias veces no se bloquea el Servidor de Aplicaciones, el problema es en tiempo de ejecución, que cosa tan más rara....

AGAG4
16-07-2005, 16:07:05
Para los que les pase algún día lo mismo, les comunico que lo solucione Eliminando el TSession que puse en el Servidor de Aplicaciones y agregue otro nuevo Habilitando las propiedades ACTIVE,AUTOSESSIONNAME y KEEPCONNECTION....

Saludos....

AGAG4
16-07-2005, 20:55:01
He realizado más pruebas y me he percatado que cuando 2 ó más Clientes accesan al Servidor de Aplicaciones al mismo tiempo se Bloquea este mismo, también sucede lo mismo cuando 1 Cliente accesa al Servidor de Aplicaciones aprox. como 6 veces continuas, es decir Abrir y Cerrar Cliente....

Que me faltará en el Servidor de Aplicaciones????

Agradezco cualquier Sugerencia....

AGAG4
21-07-2005, 21:26:30
Para los que esten interezados y han pasado por lo mismo les recomiendo cambiar de componentes, como vieron use los BDE pero me di cuenta que algo interno en cuanto a las Sesiones que abría el TDataBase me bloqueaba la Capa Intermedia, opte por poner los IBX's, en cuanto realize el cambio note mucho la diferencia y se Remedio el problema de la Capa Intermedia....

Saludos.