Como crear Clientes/Servidores en COM-DCOM

download Como crear Clientes/Servidores en COM-DCOM

of 15

  • date post

    12-Apr-2017
  • Category

    Software

  • view

    509
  • download

    3

Embed Size (px)

Transcript of Como crear Clientes/Servidores en COM-DCOM

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

INGENIERIA EN INFORMATICA

ASIGNATURA: PROGRAMACION C/S

DOCENTE: I.S.C LIZBETH HERNNDEZ OLN

TEMA: PROGRAMACION CLIENTE

ALUMNA: ELIANA VALENTIN RUIZ

GRADO Y GRUPO: 7 B

COMO CREAR CLIENTES Y SERVIDORES COM/DCOM

No es necesario cambiar el cdigo para habilitar una aplicacin cliente para crear una instancia de un servidor remoto mediante DCOM. La diferencia es la forma en que empaquetar e implementar al cliente. Adems, hay algunas configuraciones de seguridad que se debe hacer despus de instalar el cliente y el servidor. Puede realizar estos ajustes mediante una utilidad denominada DCOMCNFG. En particular, cuando el servidor provoca eventos, no slo son importantes la configuracin del servidor, pero el cliente son demasiado.

Los pasos siguientes demuestran cmo distribuir y configurar una aplicacin cliente- servidor simple. Llamar al servidor DCOMDemoEvents_Svr y el cliente DCOMDemoEvents_Cli. Crear una carpeta independiente para cada uno de ellos y, con el propsito de este artculo, nombre de las carpetas c:\DCOMDemoEvents\Server y c:\DCOMDemoEvents\Client.

Crear el servidor

1. Inicie un nuevo proyecto de Visual Basic. En el cuadro de dilogo Nuevo proyecto , seleccione EXE de ActiveXy, a continuacin, haga clic en Abrir. Class1 se crea de forma predeterminada.2. Agregue el cdigo siguiente al mdulo de Class1:

3.

4. Option Explicit

5.

6. Public Event TimeUpdate(sTime As String)

7.

8. Public Sub CallMeBack()

9. RaiseEvent TimeUpdate(Time())

10.

11. End Sub

12.

13. Public Function ServerTime() As String

14.

2

15. ' this method was included just in case we need

16. ' to test a method without call back.

17. ServerTime = Time

18.

19. End Function

20. En el men proyecto , haga clic en la opcin Propiedades del proyecto .21. Seleccione la ficha General .22. En el campo Nombre de proyecto , escriba DCOMDemoEvents_Svr.23. En el campo Descripcin del proyecto , escriba DCOMDemoEvents_Svr - Server.24. Seleccione la ficha componente y, a continuacin, seleccione la opcin Archivos de servidor remoto .

Nota: esta opcin hace que el compilador de Visual Basic genere los archivos VBR y TLB que se necesitan para empaquetar las aplicaciones cliente que utilizan este servidor. Los archivos contienen entradas del registro que deben incluirse en el equipo cliente.25. Cierre el cuadro de dilogo Propiedades del proyecto .26. En el men archivo , seleccione Guardar comoy, a continuacin, guarde este proyecto en la carpeta c:\DCOMDemoEvents\Server.27. En el men archivo , seleccione Hacer DCOMDemoEvents_Svr y compile elservidor.28. En el men proyecto , seleccione la opcin Propiedades del proyecto y, a continuacin, seleccione la fichacomponentes . En la ficha componente , seleccione Compatibilidad de versin, seleccione la opcinCompatibilidad binaria y a continuacin, realice el binario de proyecto compatible con el archivo ejecutable del servidor que acaba de crear (DCOMDemoEvents_Svr.exe). Por lo que esta opcin, est garantizando todos los GUID se mantienen igual si vuelve acompilar el servidor.

3Crear el cliente

1. En el men archivo , seleccione la opcin Nuevo proyecto , seleccione EXEestndary haga clic en Aceptar. Se crear Form1 de forma predeterminada.2. En el men proyecto , haga clic en la opcin Propiedades del proyecto y, a continuacin, seleccione la fichaGeneral .3. En el campo Nombre de proyecto , escriba DCOMDemoEvents_Cli.4. En el campo Descripcin del proyecto , escriba DCOMDemoEvents_Cli proyecto- clientey, a continuacin, haga clic en Aceptar para cerrar el cuadro de dilogo Propiedades del proyecto .5. En el men proyecto , seleccione referenciasy agregue una referenciaa DCOMDemoEvents_Svr - Server.6. En la seccin General Declarations de Form1, incluya la lnea siguiente:

7.

8. Dim WithEvents MyEventObj As DCOMDemoEvents_Svr.Class1

Esto declara el objeto de servidor con los eventos. Despus de escribir en esta lnea, debera ver MyEventObj en la lista de objetos para este formulario. La lista de objetos del formulario se encuentra en el cuadro combinado superior izquierda en el mdulo de cdigo del formulario.

9. En la lista de objetos del formulario, seleccione MyEventObj. El vaco se creaMyEventObj_TimeUpdate Sub.Escriba en la siguiente lnea de cdigo:

10.

11. MsgBox "Event from Server received. Time=" & sTime

12. Ponga un botn command en Form1 y cambie el ttulo del botn a Ejecutar con eventos.13. Coloque el cdigo siguiente en el botn, haga clic en evento:

14.

15. On Error GoTo err1

16.

17. Set MyEventObj = CreateObject("DCOMDemoEvents_Svr.Class1")

18. MyEventObj.CallMeBack

19. Exit Sub

20.

21. err1:

22. MsgBox "Error: " & Err.Number & " - " & Err.Description

23. Coloque un segundo botn de comando en Form1 y cambie el ttulo del botn a Ejecutar sin eventos.24. Coloque el cdigo siguiente en el botn, haga clic en evento:

25.

26. Dim MyObj As DCOMDemoEvents_Svr.Class1

27.

5

28. On Error GoTo err1

29.

30. Set MyObj = CreateObject("DCOMDemoEvents_Svr.Class1")

31. MsgBox "Server time without events: " & MyObj.ServerTime

32. Exit Sub

33. err1:

34. MsgBox "Error: " & Err.Number & " - " & Err.Description

35. Una vez haya hecho esto, el cdigo del formulario debe ser similar al siguiente:

36.

37. Option Explicit

38. Dim WithEvents MyEventObj As DCOMDemoEvents_Svr.Class1

39.

40. Private Sub Command1_Click()

41.

42. On Error GoTo err1

43.

44. Set MyEventObj = CreateObject("DCOMDemoEvents_Svr.Class1")

45. MyEventObj.CallMeBack

46. Exit Sub

47. err1:

6

48. MsgBox "Error: " & Err.Number & " - " & Err.Description

49.

50. End Sub

51.

52. Private Sub Command2_Click()

53. Dim MyObj As DCOMDemoEvents_Svr.Class1

54.

55. On Error GoTo err1

56.

57. Set MyObj = CreateObject("DCOMDemoEvents_Svr.Class1")

58. MsgBox "Server time without events: " & MyObj.ServerTime

59. Exit Sub

60. err1:

61. MsgBox "Error: " & Err.Number & " - " & Err.Description

62.

63. End Sub

64.

65. Private Sub MyEventObj_TimeUpdate(sTime As String)

66. MsgBox "Event from Server received. Time=" & sTime

67.

68. End Sub

769. En el men archivo , seleccione Guardar comoy, a continuacin, guarde el proyecto en la carpeta del cliente, c:\DCOMDemoEvents\Client.70. Presione el botn F5 para ejecutar al cliente en el IDE y probarlo. Tenga en cuentaque esta prueba es local para el equipo de desarrollo en este momento. Se est ejecutando el servidor local de archivo EXE de ActiveX.

71. En el men archivo , seleccione Hacer DCOMDemoEvents_Cli para compilar al cliente y, a continuacin, cierre Visual Basic.

Empaquetar el servidor

Utilice el Asistente de empaquetado y distribucin para empaquetar como de costumbre el servidor para su distribucin. El servidor se crea una instancia de un cliente remoto mediante DCOM. Al crear el paquete para el servidor, aparece un cuadro de dilogo preguntando si este servidor se utilizar como servidor de automatizacin remota y si desea incluir archivos de compatibilidad para este propsito. Haga clic en NO slo porque DCOM no es la automatizacin remota. Automatizacin remota es una tecnologa antigua que reemplaz DCOM.

Empaquetar el cliente

Al empaquetar el cliente, hay algunos pasos especficos que deben realizarse, teniendo en cuenta que el servidor no se ejecuta en el mismo equipo que el cliente. Los cambios realizados al paquete del cliente garantizan que se instala la biblioteca de tipos (archivo .tlb) y algunas entradas del registro adicionales se incluyen en lugar del archivo ejecutable del servidor en el equipo cliente. No es necesario el ejecutable del servidor instalado en el equipo del cliente porque no va a ejecutarse all.

Empaquetar al cliente siguiendo estos pasos:

1. Iniciar el Asistente de empaquetado y distribucin y, a continuacin, seleccione el proyecto del cliente. Haga clic en el botn de paquete .2. En el cuadro de dilogo Tipo de paquete , seleccione el Paquete de instalacin estndary, a continuacin, haga clic en siguiente.3. En el cuadro de dilogo Carpeta de paquete , seleccione la carpeta donde estalmacenado el paquete y, a continuacin, haga clic en siguiente. En este caso, es c:\DCOMDemoEvents\Client\Package.

Nota: puede que un cuadro de dilogo que indica que no hay ninguna informacin de dependencia para el servidor. Haga clic en Aceptar porque el servidor no tiene ninguna dependencia.

Ahora debe ser en el cuadro de dilogo de Archivos incluidos .

8

Desactive el archivo ejecutable del servidor, DCOMD