Domingo 15 de Diciembre de 2024, 20:35
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Problema Con Un Callback
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Problema Con Un Callback (Leído 1254 veces)
hitman47
Miembro activo
Mensajes: 81
Nacionalidad:
Problema Con Un Callback
«
en:
Martes 22 de Enero de 2008, 16:08 »
0
Hola amigos, mi problema consiste en que creo dos funciones callback
Código: Text
static void EventCallback (const CMS_MessageId& i_lClientMsgId,
const CMS_ClientId& i_ClientSeqNum,
const CMS_Event& i_eEventType,
const CMS_EventInfo& i_RetEvent)
{
i_SessionId=i_RetEvent.SessionId;
i_QuestionId=i_RetEvent.NextQuestionId;
printf("\neventcallback\n");
//if (i_eEventType == CMS_GET_USER_DETAILS)
}
static void StatusCallback (const CMS_MessageId& i_lClientMsgId,
const CMS_ClientId& i_ClientSeqNum,
const CMS_StatusMajorCode& i_iMajorCode,
const CMS_StatusEvent& i_StatusEvent)
{
printf("\nstatuscallback\n");
}
las cuales debo enviar su direccion a un server atravez de una funcion API que se encuentra en una dll
Código: Text
// Opens a loosely CSConnection
CMS_API CMS_TReturnCode CMS_OpenLooselyClient (
const char* i_pszServerIPAddr,
const CMS_PortId& i_lServerListenPort,
const CMS_ClientId& i_iCSConnectionId,
CMS_ClientId& io_ClientSeqNum,
void (*EventCallback) (const CMS_MessageId& i_lClientMsgId,
const CMS_ClientId& i_ClientSeqNum,
const CMS_Event& i_eEventType,
const CMS_EventInfo& i_RetEvent),
void (*StatusCallback) (const CMS_MessageId& i_lClientMsgId,
const CMS_ClientId& i_ClientSeqNum,
const CMS_StatusMajorCode& i_iMajorCode,
const CMS_StatusEvent& i_StatusEvent)
);
en el main se lo envio asi
Código: Text
resp=CMS_OpenLooselyClient("127.0.0.1\n",10100,5,ClientSeqNum,&EventCallback,&StatusCallback);
pero cuando invoco a otra funcion de la API que debe hacer que el server me envie un mensaje de respuesta
Código: Text
resp=CMS_OpenSession (ClientSeqNum,AppType,UserGroupId,ProductId,SessionType,ClientMsgId,UserInfoElem);
pero la callback no se dispara ademas no se como meterle un ciclo para que el main espere a que se dispare el callback para seguir con la siguiente linea de codigo. Ayudenme porfavor amigos o si hay algun MVP q me de una pista. lo que pienso es que como el server es un proceso aparte no puede acceder al area de memoria de mi programa cliente y debo enviarle ademas de la &eventcallback la direccion de mi programa cliente????
Tweet
hitman47
Miembro activo
Mensajes: 81
Nacionalidad:
Re: Problema Con Un Callback
«
Respuesta #1 en:
Martes 22 de Enero de 2008, 16:33 »
0
bueno ya se que no es que el server no accesa a la memoria porque segui con la implementacion y se dispara la funcion StatusCallback solo que me dice que hay error fail ocurred in listening socket o fallo en el puesto escucha lo cual me hace pensar que al invocarl la sig funcion API lo hago antes de haber recibido la respuesta del primer mensaje que envie en la funcion opensession. io puse un ciclo while en el meain luego de invocar a opensession que valide una bandera en la funcion eventcallback pero parece que esto no funciona porque impide que la eventcallback se dispare como hago para espera la respuesta? WaiForMessage o GetMessage creo que no me servirian
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Problema Con Un Callback