Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-01-2013
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
Windows Service y Sockets

Buenos días,

Estoy haciendo un servicio de windows con sockets, pero no consigo que funcione, si hago la aplicación servidor como aplicación normal funciona bien, el problema es que al hacer el servicio ( creando aplicación nueva, servicio ) en el execute pongo:

Código:
    serverSocket1.Active:=True;
    while not Terminated do
    begin
    ServiceThread.ProcessRequests(True);
    end;

y luego tengo puesto:

Código:
procedure TService1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
showmessage('Se ha conectado 1');
end;
pero cuando me conecto desde el otro equipo no salta el mensaje de que se han conectado ni nada...

Siempre que busco ejemplos de servicios por internet, me salen con timers, pero suelen ser para que hagan algo cada cierto tiempo, y no se si es condición obligatoria tener que usar un timer.

Espero que alguien me pueda echar una mano, porque ya no se que mas probar.

Muchas gracias y perdón por las molestias.
Responder Con Cita
  #2  
Antiguo 03-01-2013
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Un servicio no puede tener instrucciones que usen la interface. Como puede estar dando servicio con la sesión cerrada, no puedes poner showmessage, no hay escritorio donde crear la ventana. Lo normal es que se escriba lo que ocurre en un fichero, en una bbdd y haber una aplicación aparte que lea los ocurrido a través de la lectura del fichero o de la bbdd.

Espero que te sirva de ayuda.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #3  
Antiguo 03-01-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola NeWsP,

Hace un tiempo tuve algunos problemas para hacer que un servicio ejecutara una aplicación en el escritorio... pues encontré una serie de artículos que indicaban que desde vista las cosas habían cambiado con respecto a la sesión donde se ejecutan los servicios y cosas así.

Pues en stackoverflow encuientras esto:
Entrada en StackOverFlow
Cita:
The way to go is named pipes, you'll probably have to take a look at the communication across different Integrity levels.

This article explores how to do this in vista. Although it's written in c++ it's just basic Windows API calls, so it should translate fast enough to Delphi.

If you want to search for more on this subject, this communication is called Inter Process Communication, but a better search term is IPC.
Y la verdad me sirvió bastante, espero que a ti también.

Saludos,
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 04-01-2013
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
Muchas gracias a los 2, intentare hacer que escriba en un archivo de texto para ir comprobando si funciona.

La verdad es q me centre con el showmessage y solo queria que saliera el mensaje... y gracias a vosotros ya me he dado cuenta de que me podia morir esperando jejeje

Muchas gracias, y cuando tenga un rato ( que ahora me han salido unos problemillas ) volvere a retomar el tema.

Saludos, y feliz año.
Responder Con Cita
  #5  
Antiguo 06-01-2013
cointec cointec is offline
Miembro
 
Registrado: jul 2004
Ubicación: Alicante-España
Posts: 76
Poder: 20
cointec Va por buen camino
Hola, simplemente en el evento de inicio del servicio activa el componente socket y elimina el bucle while que procesa los mensajes del servicio, ya que no es necesario.
__________________
Un saludo, Jesus García
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener version del Service Pack de Windows fide_uci API de Windows 5 19-05-2012 16:27:45
Tendremos Service Pack 3 para Windows XP marcoszorrilla Noticias 1 27-05-2007 22:37:52
Web Service madmai Internet 3 06-12-2006 21:01:45
Probelam con Service application en Windows XP NPIdea Varios 2 20-04-2005 13:14:47
Service y Application Service Ezecool Varios 0 30-09-2003 18:48:30


La franja horaria es GMT +2. Ahora son las 00:26:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi