Práctica 1. Introducción a.net, aplicaciones básicas, namespaces, paquetes y código intermedio.
|
|
- Laura Giménez Bustos
- hace 8 años
- Vistas:
Transcripción
1 Práctica 1. Introducción a.net, aplicaciones básicas, namespaces, paquetes y código intermedio. El objetivo de esta práctica es programar una aplicación sencilla para familiarizarnos con el entorno de programación de.net. Durante el desarrollo de las prácticas se van realizar prácticas para dispositivos limitados (PDA). Conociendo el Entorno de Desarrollo Comenzamos por crear un nuevo proyecto con Visual Studio 2005 o 2008: Una vez pulsemos, aparecerá en la pantalla los posibles proyectos. El número y tipo de proyectos dependerá de los SDKs instalados en el sistema: Vamos a crear un proyecto Visual C#, para dispositivo limitado (Smart Device), usando el SDK de Windows Mobile 5.0 o 6.0 dependiendo del que tengamos instalado. La plantilla del proyecto es Empty Project. Le damos un nombre, por ejemplo MiAplicacion o como uno desee. Seleccionamos la ubicación que más nos convenga.
2 Todos los proyectos que hagamos, se incorporan a una solución, daremos el nombre MiSolución o el que nos apetezca a la solución. Ten en cuenta que la solución es un conjunto de proyectos y el nombre debería representar algo común a todos los proyectos incluidos en él. Al crear el proyecto, podemos ver en el explorador de soluciones (Si no aparece, menú View[Ver]>Explorador de soluciones) que el proyecto está vacío completamente. Como podemos ver, la solución no contiene ningún fichero de código. Para introducir un nuevo fichero de código, que será el programa principal, sobre el proyecto MiAplicación, haremos click con el botón derecho y pulsaremos sobre añadir añadir elemento nuevo. Al hacer esto, aparecen varias posibilidades, entre las que se encuentra Archivo de código. Hay otras plantillas, como la de clase o interfaz, que generan parte del código, la estructura etc
3 Llamaremos a este fichero programa.cs. En él vamos a escribir el código de la primera aplicación para Windows Mobile. El fichero está vacío, dado que no se ha utilizado ninguna plantilla de clase o de interfaz. El programa principal Vamos a escribir el programa principal. Para ello se pueden utilizar las siguientes clausulas: public static int Main(), public static void Main(), public static void Main(string[] args) public static int Main(string[] args) Vamos a probar el siguiente código, que calcula el factorial de un número entero de 64 bits. public class MiAplicacion public static Int64 factorial(int64 num) if ((num == 1) (num == 0)) return 1; return num * factorial(num - 1); public static void Main(string[] args) MiAplicacion.factorial(2); factorial(6); Copiad este código en el fichero programa.cs. Para compilar, podeis hacer click con el botón derecho en el proyecto y pulsar en
4 generar o build. Si hacéis esto mismo con la solución, compilará todos los proyectos contenidos en la solución. En la ventana de resultados (si no se ve la pestaña, pulsad en el menú Ver Resultados) podréis ver si la compilación ha sido correcta o no. Si vamos a la carpeta donde hemos guardado el proyecto, en la ruta MiSolucion\MiAplicacion\Bin\Debug podemos ver dos ficheros, MiAplicación.exe y MiAplicación.pdb. Estos ficheros tienen información de depuración, pueden ser un poco más lentos que los programas sin información de depuración. Si cambiáramos la configuración a Release (sin debug) crearía un fichero más eficiente, pero en el caso que nos ocupa, vamos a aprender, así que dejamos el sistema en modo debug. Depurar el programa A continuación veremos cómo se depura un programa con Visual Studio. Para depurar, podemos poner puntos de interrupción pulsando en la parte gris del editor de texto, justo en la línea en la que queremos insertar el breakpoint o bien mediante el menú debug. Si lo que queremos es ejecutar paso a paso pulsamos F10 o para meternos dentro de las funciones F11 (menú debug StepOver, StepInto). Para probarlo usaremos un emulador. En Visual Studio hay un desplegable que permite ver los emuladores instalados. En ese menú desplegable seleccionaremos el emulador que queramos ejecutar (es posible que al depurar nos pregunte de nuevo por el emulador a utilizar). Pulsaremos ahora F10 y comenzará la ejecución. Al comenzar la depuración el entorno de desarrollo cambia y nos muestra nuevas ventanas:
5 Línea donde se encuentra la ejecución Pila de llamadas Ventana de Automático: Variables en uso en cada momento Variables locales: Variables el método en comandos
6 Si pulsamos F10, ejecutará la primera instrucción MiAplicacion.factorial(2); y continuará por la siguiente. Si en la siguiente en lugar de pulsar F10, pulsamos F11, se introducirá en el método factorial, si posteriormente, en el método factorial volvéis a pulsar F11 en la llamada recursiva, volverá a llevaros a factorial. Comprobadlo, echadle un vistazo a la pila de llamadas y podréis ver el efecto de la recursividad en la pila de llamadas: Observad también como varía en valor de las variables mediante las ventanas de Automático y Variables Locales. Estas ventanas permiten cambiar el valor de las variables que se están utilizando. Las tripas del programa, MSIL (MS Intermediate Language) Para ver el código intermedio, generado por el compilador de C#, tendremos que usar una herramienta llamada ildasm.exe que es un desensamblador de MSIL. Como es posible que sea difícil de localizar dentro de la maraña de directorios de Windows y como probablemente no esté en el PATH, una buena forma de usar las utilizades asociadas a Visual Studio es mediante la consola Visual Studio Command Prompt. Cuando aparezca esta consola, ejecuta ildasm.exe y aparecerá una utilidad gráfica. Buscamos el fichero binario MiAplicación.exe y lo analizamos con el desensamblador de lenguaje intermedio. Como se pude ver, no existe el método factorial, pero si nos fijamos en el main, podremos comprobar que, como medida de eficiencia, el compilador lo ha incluido en el interior de main.
7 Más adelante veremos cómo varía el código intermedio con programas más complejos. Acceso a ficheros para depurar Ahora que sabemos cómo depurar un programa, ver el contenido del código intermedio etc, vamos a continuar. Las plataformas Windows Mobile no disponen de consola (se puede instalar usando algunas utilidades GNU) por lo que no es posible hacer depuración sobre consola, pero si en fichero de texto, que además es muy útil. Para hacer esto vamos a crear un ensamblado o librería de log. En primer lugar vamos a dar un espacio de nombres a nuestra aplicación. Hasta el momento, no hemos necesitado que nuestra aplicación tuviera un nombre único, que la diferenciara de las demás a efectos de reutilizar código, pero ahora va a ser necesario; por esta razón, cambiamos el código de la práctica por el siguiente: using System; namespace ComputacionRed.MiAplicacion public class MiAplicacion public static void Main(string[] args) MiAplicacion ma = new MiAplicacion(); /* de momento no hace nada */
8 Acto seguido miramos las propiedades de la aplicación y cambiamos el nombre del ensamblado en la configuración: Una vez hecho esto vamos a crear un nuevo proyecto. Sobre MiSolución, botón derecho Añadir nuevo proyecto. Tipo Class Library. El nombre que le daremos será UtilidadLog. Cambiamos el namespace de la aplicación tal y como aparece bajo estas líneas. using System; using System.Collections.Generic; using System.Text; namespace Utilidades.UtilidadLog public class Log Actualice la información en las propiedades, de forma que el nombre del ensamblado y el espacio de nombres predeterminado sean Utilidades.UtilidadLog Observa que el nombre de la clase es independiente del nombre del fichero, no ocurre igual en java. A continuación daremos funcionalidad a la clase de Log, de forma que podamos escribir información a un fichero que permita depurar el programa. Para ello, es necesario declarar en
9 el código mediante using qué parte de la Base Class Library se utilizará. En concreto usaremos System.IO. Para escribir en un fichero usaremos la clase TextWriter, cuya documentación puede encontrarse en es/library/system.io.textwriter(vs.80).aspx. La función de log se utilizará en adelante para probar el correcto funcionamiento del programa y debido a que las aplicaciones gráficas que veremos más adelante son multihilo (si pulsas un botón y la ejecución tarda, puede que al pulsar otro botón se genere otro hilo de ejecución) y a que el fichero sobre el que vamos a escribir es un recurso compartido: hay que usar un Mutex. El paquete que tiene la implementación de TextWriter es System.IO y el que contiene la implementación de Mutex es System.Threading. A continuación se muestra como utilizar ambos en el programa de la clase Log. Esta clase muestra cómo usar un mutex y como escribir en un fichero de texto. using System; using System.IO; using System.Collections.Generic; using System.Text; using System.Threading; namespace Utilidades.UtilidadLog public class Log /* TextWriter */ TextWriter tw = null; Mutex filemutex; int indent = 0; public Log(string filename) tw = new StreamWriter(fileName,true); filemutex = new Mutex(); ~Log() tw.flush(); tw.close(); public void Trace(String msg) filemutex.waitone(); for (int i = 0; i < indent; i++) tw.write("\t"); tw.write(msg); tw.flush(); filemutex.releasemutex();
10 public void BeginTrace(String fname) indent++; Trace(DateTime.Now.Hour +":"+ DateTime.Now.Minute + ":: Entrando en " + fname + "\n"); public void EndTrace(String fname) indent--; Trace(DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":: Entrando en " + fname + "\n"); public void Trace(String fname, String msg) Trace(DateTime.Now.Hour + ":" + DateTime.Now.Minute + "::" + fname + "::" + msg + "\n"); Los atributos de la clase Log son una referencia a la clase Textwriter, que permite escribir al fichero; un semáforo Mutex, que controlará el acceso al recurso compartido (fichero) ; y una variable de tipo entero que almacena la indentación a añadir a cada línea. El constructor de la clase crea una instancia de la clase Textwriter proporcionándole el nombre del fichero a utilizar. Si compruebas la documentación del constructor de StreamWriter podrás ver qué implica el segundo parámetro (true). A continuación podemos ver una función cuanto menos extraña para aquellos sin experiencia en C++. Es la función ~Log() que se conoce como destructor. En C++ esa función se utiliza para liberar memoria una vez concluye la ejecución de la clase y el objeto se destruye. E n los lenguajes como Java o cualquiera de los presentes en.net, no es necesario liberar memoria, eso lo hace el recolector de basura; en cambio, se permite el uso de esta función para realizar una serie de tareas antes de destruir el objeto (como en este caso, hacer flush y cerrar el fichero). Aunque no es necesario, en ocasiones es útil. El siguiente método, es Trace. Este método escribe una traza de log en el fichero. Primero comprueba el semáforo y si es necesario espera un tiempo dado hasta que deje de ser usado. En ese momento tabula el texto, escribe el mensaje, hace flush y por último libera el semáforo para que otros métodos puedan usar el fichero. El resto de los métodos no requieren explicación.
11 Utilizando la clase Log desde otro programa Para poder utilizar la clase Log desde MiAplicación, hacemos click con el botón derecho sobre la carpeta References contenida en el proyecto aplicación y luego sobre Add Reference. Vamos a la pestaña Proyectos y ahí encontraremos UtildadLog. La seleccionamos y pulsamos aceptar. A partir de ese momento podremos utilizar la clase Log, contenida en el espacio de nombres Utilidades.UtilidadLog. A continuación probaremos la clase Log, pero antes vamos a facilitar la tarea modificando las propiedades del emulador. Para ello, en el menú File del emulador, seleccionamos configure cuando aparece el cuadro de diálogo en la caja de texto Shared Folder navegamos hasta la ruta donde se encuentre la aplicación compilada, es decir, carpetadelproyecto\bin\debug. A partir de ese momento si abrimos el explorador de ficheros en la PDA emulada y navegamos, veremos que existe un directorio llamado Storage Card que simula una tarjeta SD introducida en el slot. Si consultamos los ficheros contenidos en ella, veremos cómo aparecen los contenidos en el directorio seleccionado. Ahora vamos a modificar el programa para probar la clase de Log. Utilice el siguiente código:
12 using System; using Utilidades.UtilidadLog; namespace ComputacionRed.MiAplicacion public class MiAplicacion Log log; public MiAplicacion() log = new Log("\\Storage Card\\milog.txt"); public void mifuncion2() log.begintrace("mifuncion2"); log.trace("mifuncion2", "Un mensaje de mifuncion2"); log.endtrace("mifuncion2"); public void mifuncion() log.begintrace("mifuncion"); log.trace("mifuncion2", "Un mensaje de mifuncion1"); mifuncion2(); log.endtrace("mifuncion"); public static void Main(string[] args) MiAplicacion ma = new MiAplicacion(); ma.mifuncion(); Como se puede apreciar, el fichero seleccionado para guardar los resultados del log se encuentra en la carpeta de la aplicación dentro del PC (no de la PDA). Lo siguiente que haremos, será probar la aplicación. Para ver el fichero con comodidad (puede verse directamente en la PDA emulada, pero debido a que el tamaño de la pantalla no es muy grande, es preferible hacerlo en el PC) lo abrimos con visual studio. A partir de este momento no hace falta cerrarlo y volverlo a abrir para ver los cambios, si el fichero cambia, Visual Studio lo notificará. El resultado de la ejecución debe ser algo similar a esto:
13 2:34:: Entrando en mifuncion 2:36:: Entrando en mifuncion 2:36::mifuncion2::Un mensaje de mifuncion1 2:36:: Entrando en mifuncion2 2:36::mifuncion2::Un mensaje de mifuncion2 2:36:: Entrando en mifuncion2 2:36:: Entrando en mifuncion Observe que una llamada a una función dentro de otra función aumenta la indentación. Práctica 2. Introducción a.net, programación gráfica. El objetivo de esta práctica es programar una aplicación sencilla para familiarizarnos con el entorno visual de programación de.net con Formularios de Windows. Conociendo el Entorno de Desarrollo Comenzamos por crear un nuevo proyecto con Visual Studio 2005 o 2008: Una vez pulsemos, aparecerá en la pantalla los posibles proyectos. El número y tipo de proyectos dependerá de los SDKs instalados en el sistema: Vamos a crear un proyecto Visual C#, para dispositivo limitado (Smart Device), usando el SDK de Windows Mobile 5.0 o 6.0 dependiendo del que tengamos instalado. La plantilla del proyecto es Device Application. Le damos un nombre, por ejemplo miapp. Seleccionamos la ubicación que más nos convenga. Todos los proyectos que hagamos, se incorporan a una solución, utilizaremos la
14 solución que ya teníamos creada. Una vez creado, aparecerá el interfaz de usuario. En el que podemos ver una imagen de lo que será el programa. Además existen menús útiles para el desarrollo como son (Están identificados en la imagen): El explorador de soluciones Vista de clases Propiedades Toolbox Resultados Lista de errores Si no ves alguno de las pestañas marcadas con círculos sobre las imágenes, puedes usar el menú View (ver) y pulsar sobre cada una de las que necesitas. Luego puedes arrastrarlas por la pantalla para colocarlas donde te resulten más cómodas de usar.
15 Aplicación Hello world Se trata de la aplicación que todo el mundo ha hecho alguna vez para comenzar a aprender un lenguaje. La aplicación tiene el efecto positivo de mostrar al usuario que algo funciona, a partir de ahí lo que imagines Un vistazo al código Antes de comenzar con la aplicación vamos a echar un vistazo al código generado por Visual Studio y que nos permitirá programar la aplicación. Vamos a ver el programa principal, la clase que permite la ejecución del formulario o ventana sobre la que colocaremos controles como botones o cajas de texto. Para ver el código pulse sobre program.cs como indica la figura: Al hacer esto, pulsar sobre Ver Código o hacer doble click sobre Program.cs, aparece el código en la pantalla principal. El código que se verá será este (o muy parecido): using System; using System.Collections.Generic; using System.Windows.Forms; namespace miapp static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() Application.Run(new Form1()); Este código es un programa principal como el que hemos visto en la anterior práctica, la única diferencia es que ahora existe un atributo llamado MTAThread que se usa en las aplicaciones de Formularios para conocer el lugar en el que comienza el programa. Consulta el código de la clase Form1.cs, comprobarás que es una clase que hereda de Form (la que gestiona los formularios en Windows). A continuación vamos a añadir funcionalidad a la aplicación. Para comenzar, debes poder usar el ToolBox o caja de herramientas. En ella encontrarás componentes gráficos para añadir a tu aplicación.
16 Para añadir nuevos controles gráficos, simplemente arrástralos desde el toolbox directamente a la pantalla.
17 Añade varios elementos:
18 Un textbox Un botón con el nombre hola Otro con el nombre mundo Cada uno de los controles que se colocan en la pantalla tiene una serie de propiedades. Una es el nombre dentro del programa Name otra es la información que aparece en pantalla Caption. Al hacer dobre click sobre un botón, Visual Studio creará un método. Este método puede usarse para cambiar las propiedades de los controles. Añada también unas etiquetas Label de modo que el interfaz de usuario quede de la siguiente manera: Tu turno: Da un nombre adecuado al namespace
19 Coloca entradas de Log para ver qué ocurre con la aplicación. Pon una al comienzo de cada clase y método, de forma que veas el flujo de la ejecución. Para ello, tendrás que importar la clase de Log (añadir referencia ) Tendrás que pasar la instancia de Log de una clase a otra para que todos escriban sobre el mismo fichero. Para ello, añade un atributo Log a la clase Form1. public partial class Form1 : Form Log log; public Form1() InitializeComponent(); log = new Log("\\Storage Card\\fichero.txt"); Añade funcionalidad a los métodos de los botones Hola y Mundo de forma que al pulsar el primero aparezca la palabra Hola en el cuadro de texto. Para modificar el texto utiliza la propiedad Text de del cuadro de texto.
20 Práctica 3. Introducción a sockets en.net Ahora que conoces el API de sockets de otros sistemas operativos y lenguajes como Java, vamos a aprender cómo usar sockets desde.net con el lenguaje C#. En esta práctica, usaremos el Framework de.net en lugar del Compact Framework, en cualquier caso, el contenido de estas prácticas es trasladable a pocket pc directamente. Estructura de clases Para utilizar sockets es necesario importar las librerías de la class library System.Net y System.Net.Sockets. Para ello, creamos un proyecto de tipo aplicación visual con el SDK correspondiente y le damos el nombre de VistaCliente.cs al fichero de código con el formulario. El otro fichero será program.cs. Introducimos el siguiente código en los ficheros:
21 /* Programa.cs */ using System; using System.Text; using System.Collections.Generic; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Diagnostics; namespace ComputacionRed.Sockets.Cliente static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() /* VistaCliente.cs [Formulario-Ver código]*/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace ComputacionRed.Sockets.Cliente public partial class VistaCliente : Form public VistaCliente() InitializeComponent();
22 La clase VistaCliente, es una clase que hereda de Form, por tanto se utiliza para proporcionar una GUI al usuario. Por otro lado, tendremos una clase controlador ClienteConnection que crearemos dentro del fichero programa.cs: /* Programa.cs */ using System; using System.Text; using System.Collections.Generic; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Diagnostics; namespace ComputacionRed.Sockets.Cliente static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() public class ClienteConnection IPAddress dirservidor; Int32 serverport = 0; IPEndPoint endpointservidor; Socket socket; Form vv = null; writelog log = null; public ClienteConnection(Form vv) this.vv = vv; /* destructor */ ~ClienteConnection() try if (socket!= null) if (socket.connected) socket.disconnect(false); catch (Exception ex) /* lo hemos intentado... */
23 En la clase ClienteConnection tendremos los siguientes atributos: IPAddress dirservidor : Estructura de dirección IP para conectar con el servidor o us/library/system.net.ipaddress.aspx IPEndPoint endpointservidor: Contiene tanto la dirección IP como el puerto local etc necesarios para conectar con el servidor o us/library/system.net.ipendpoint.aspx Int32 serverport: puerto del servidor Socket socket: estructura donde alojar el estado del socket o us/library/system.net.sockets.socket.aspx o API de sockets de Berkeley Form vv : Para poder controlar la visualización writelog log: Lo veremos más adelante, es un callback (delegado en.net) Localice el constructor de la clase ClienteConnection. Qué parámetro recibe? Qué hace el destructor de la clase ClienteConnection? En la clase VistaCliente usaremos el siguiente código para el constructor y los métodos de inicialización: public delegate void writelog(string msg); public partial class VistaCliente : Form ClienteConnection cc = null; byte[] sendbytes; byte[] receivebytes = new byte[2048]; public VistaCliente() InitializeComponent(); public void setcontroller(clienteconnection cc) this.cc = cc; La clase VistaCliente tiene los siguientes atributos: ClienteConnection cc = enlace con el controlador byte[] sendbytes: buffer de datos a enviar al servidor byte[] receivebytes: buffer de datos con la respuesta del servidor. Si echamos un vistazo al código anterior, veremos una declaración similar a un tipo: public delegate void writelog(string msg);
24 Consiste en un puntero a función, es decir, existe un tipo de función llamada writelog, que recibe una String y la imprime para que el usuario tenga información a modo de log. Interfaz gráfico A continuación vamos a diseñar el siguiente interfaz gráfico: servernametextbox textcheckboxuserinput button1 IPTextbox serverport senddatatextb oxuserinput conectbutton sendbutton ConnectionState updatebinary Button testconnectionbutton binarysenddata responsetext responsebinary logtextbox Como puedes comprobar, hay varios controles (cajas de texto, botones, checkbox ) y algunos de ellos están introducidos dentro de un contenedor. Esto es opcional, en cualquier caso, el control que engloba a los demás (como por ejemplo Connection que engloba 3 cajas de texto, tres botones y un label) puedes localizarlo en el toolbox como GroupBox. Para que el código que se proporciona en los siguientes apartados funcione correctamente, debes asegurarte de que los diferentes controles tienen la propiedad Name (dentro del apartado Design) que se indica en las cajas de texto apuntadas por las diferentes flechas.
25 Función de log A continuación vamos a resolver el problema del log. En la clase VistaCliente creamos la función writelog como se muestra a continuación: public void setcontroller(clienteconnection cc) this.cc = cc; public void writelog(string msg) logtextbox.appendtext(msg); Dicha función escribe añade texto en la caja de texto logtextbox cuando se la invoca. Si prestamos atención, veremos que dicho método tiene los mismos tipos definidos en la declaración del apartado anterior public delegate void writelog(string msg) por lo que puede usarse como delegado. En la clase ClienteConnection, inmediatamente después del destructor, creamos los métodos: /* set log */ public void setlogfn(writelog fn) this.log = fn; /* write log */ public void trace(string msg) StackTrace st = new StackTrace(false); string caller = st.getframe(1).getmethod().name; log(caller + " : " + msg + "\r\n"); /* presenta la vista */ public Form getvista() return vv; El método setlogfn recibe un puntero a una función de tipo writelog y la guarda en el atributo log. En método trace recibe una string, contruye un pila de llamadas y accede a la anterior para conocer desde que función ha sido llamada la función de log para así incluirlo en el texto de la línea de log. Finalmente, escribe la línea y le añade al final un retorno de carro y vuelve al comienzo de la línea ( \r\n es equivalente al \n de C/C++). La función getvista devuelve una instancia de la clase Form, así tanto el controlador como la vista, permanecen unidos. Compruebe como ambas clases VistaCliente y ClienteConnection están enlazadas
26 Sustituye el código del main por el siguiente: static class Program /// <summary> /// The main entry point for the application. /// </summary> [MTAThread] static void Main() ClienteConnection cc = new ClienteConnection(new VistaCliente()); ((VistaCliente)cc.getVista()).setController(cc); cc.setlogfn(((vistacliente)cc.getvista()).writelog); Application.Run(cc.getVista()); Qué hace el código? Comprobando la conectividad En este apartado vamos a comprobar la conectividad de la red antes de usarla. Para ello, el usuario dispone de un botón con el mensaje Test connection que cambiará el label ConnectionState indicando ok o error dependiendo del problema. En primer lugar vamos a diseñar dicha función. Para dar un error detallado sería necesario interrogar al API de NDIS de Windows (controla los dispositivos de red) de forma que se pudiera averiguar si existe conectividad o no, pero lo vamos a hacer desde el nivel más alto, desde sockets. Lo primero que haremos será definir un tipo enumerado con los posibles errores o estados: public enum connstate ok = 0, dnsproblem = 1, socketproblem = 2, dnsandsocketproblem = 3, networkerrororunreachable = 4 Los posibles estados son: 1. No hay error 2. Existe un problema con el DNS (lo cual no significa que no haya conexión) 3. Problema con la librería de sockets, con independencia del DNS no se puede abrir una conexión. 4. Hay problemas con el DNS y con los sockets 5. Es posible crear un socket pero probablemente la conexión sólo es local o un firewall bloquea el tráfico
27 A continuación, vamos a plantear la estrategia del test: 1. Tratamos de resolver el nombre a. Si falla dnsproblem y continuamos 2. Tenemos o no DNS, pero puede que sólo local a. Tratamos de conectar a una IP y si hay éxito continuamos b. Tratamos de conectar a una IP y si no hay éxito salimos con error socketproblem o dnsandsocketproblem. 3. Tratamos de descargar una página web a. Si hay éxito: ok b. Si falla: networkerrororunreachable Por lo tanto, el código del método para probar la conectividad es el siguiente (inclúyelo como métodos de la clase ClienteConnection: private connstate geterror(connstate current, connstate promoteto) trace("fetch error"); if (current == connstate.ok) return promoteto; if (current == connstate.dnsproblem) if (promoteto == connstate.socketproblem) return connstate.dnsandsocketproblem; else return promoteto; return promoteto; public String gettestconnectionresultstring() return testsocketconnection().tostring(); private connstate testsocketconnection() trace("testing client connection"); connstate res = connstate.ok; String testhttp = "GET /index.html HTTP/1.0\n\n"; String httpdoc = null; int recvlength = 0; Byte[] SendBytes = Encoding.ASCII.GetBytes(testHttp); Byte[] RecvBytes = new Byte[1024]; IPAddress testip = null; IPEndPoint testendpoint = null; Socket testsocket = null; try testip = Dns.GetHostEntry(" testendpoint = new IPEndPoint(testIP, 80);
28 catch (Exception ex) trace("dns seems to be unavailable"); res = geterror(res, connstate.dnsproblem); try testip = Dns.GetHostEntry(" ").AddressList[0]; testendpoint = new IPEndPoint(testIP, 80); testsocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); catch (Exception ex) trace("something wrong with sockets"); return geterror(res, connstate.socketproblem); try testsocket.connect(testendpoint); testsocket.send(sendbytes, SendBytes.Length, SocketFlags.None); recvlength = testsocket.receive(recvbytes, RecvBytes.Length, SocketFlags.None); catch (Exception ex) trace("error connecting"); return geterror(res, connstate.networkerrororunreachable); httpdoc = Encoding.ASCII.GetString(RecvBytes, 0, recvlength); //Codificamos la respuesta trace("finished"); return res; Acabas de ver tu primer programa con sockets en.net: Cuál es el proceso para abrir una conexión con otro equipo? Qué NameSpaces se utilizan? Qué clases? Notas diferencias con otros APIs? Ahora incorpora la funcionalidad al botón de prueba (doble click y Visual Studio generará el método, el código es el siguiente: private void testconnectionbutton_click(object sender, System.EventArgs e) ConnectionState.Text = cc.gettestconnectionresultstring();
29 Interactuando con un servidor, preparando los datos Antes de comenzar a enviar datos al servidor, es necesario prepararlos. El cliente que estamos diseñando permite introducir datos de dos formas: 1. En modo texto: cualquier letra introducida se codifica con ASCII y se envía salvo el código \n que se traduce a retorno de carro. Esto es interesante por si se quiere usar HTTP directamente o para probar un servidor que estamos programando a. Para ello, el usuario introduciría GET /index.html HTTP/1.0\n\n directamente en el cuadro de texto senddatatextboxuserinput, haría click en la casilla textcheckboxuserinput (mirar la figura del GUI) y luego en updatebinarybutton 2. Modo hexadecimal: Se introduce la información en hexadecimal. Si se quiere introducir un buffer de datos 2FC487, se teclea 2F C4 87 y no se marca la casilla de modo texto. En cualquier caso, siempre es necesario pulsar el botón Update Binary antes de enviar algo al servidor. Por lo tanto, necesitamos un método que prepare los datos del usuario para su envío al servidor. El método se invoca cuando se pulsa el botón updatebinarybutton. Por tanto, para programarlo, haga doble click sobre dicho botón. Analiza el siguiente código y úsalo: private void updatebinarybutton_click(object sender, System.EventArgs e) sendbytes = null; binarysenddata.text = ""; String senddatatext = ""; int posicion = -1; if (textcheckboxuserinput.checked && senddatatextboxuserinput.text.length!= 0) if (senddatatextboxuserinput.text.indexof("\\n")!= -1) /* hay retorno(s) de carro (http/telnet) */ String[] subs = senddatatextboxuserinput.text.split(new String[] "\\n", StringSplitOptions.None); for (int i = 0; i < subs.length; i++) if (subs[i].equals("")) senddatatext += "\n"; else senddatatext += subs[i]; else senddatatext = senddatatextboxuserinput.text; sendbytes = Encoding.ASCII.GetBytes(sendDataText); else if (senddatatextboxuserinput.text.length >= 2) string delimiter = " ";
Uso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Más detallesNotas para la instalación de un lector de tarjetas inteligentes.
Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación
Más detallesInstalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta
Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para
Más detallesAplicaciones Windows con Microsoft Visual Studio 2010...
Aplicaciones Windows con Microsoft Visual Studio 2010... Insertar un Link o Vínculo en una Aplicación Windows El presente es un pequeño manual/tutorial que nos indica los pasos que debemos seguir para
Más detallesCreando una webquests
Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre
Más detallesPrograma diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Más detallesManual de NetBeans y XAMPP
Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación
Más detalleshttp://www.oracle.com/technetwork/es/java/javase/downloads/index.html
Introducción En esta primera parte del taller iremos viendo paso a paso como poner a punto todo tu entorno de trabajo para poder empezar cuanto antes a desarrollar tu primera aplicación Android para luego
Más detallesUso de varias pantallas y pantalla Splash
Uso de varias pantallas y pantalla Splash Índice 1. USO DE VARIAS PANTALLAS... 3 2. CREACIÓN DE PANTALLA DE INICIO O DE SPLASH... 10 2 1. Uso de varias pantallas Vamos a explicar como se crean aplicaciones
Más detallesREDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS
REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición
Más detallesPágina Personal. Cómo guardar mi página personal con FileZilla
Página Personal Cómo guardar mi página personal con FileZilla Este manual de servicio es propiedad de Telefónica de España SAU, queda terminante prohibida la manipulación total o parcial de su contenido
Más detallesHerramientas Visuales de Programación
Pág. 1 07/04/2013 Para la compilación y ejecución del código que se realizará a lo largo de este curso vamos a utilizar el entorno de programación de la Herramienta Visual Studio 2010. El entorno de programación
Más detalles1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?
Google Docs 1 Itinerario 1.1 Qué vamos a hacer? En este tutorial aprendemos a manejar la herramienta Google Docs, de esta forma nos introduciremos en el llamado cloud computing, que podemos traducir como,
Más detallesPerson IP CRM Manual MOBILE
Manual MOBILE División Informática BuscPerson Telecomunicaciones : Manual MOBILE 0.- Introducción 3 0.1 Configuración de los terminales 3 0.2 Acceso de Usuarios 3 1.- Funcionalidades CRM 5 1.1 Agenda del
Más detallesPlantillas Office. Manual de usuario Versión 1.1
Manual de usuario Para comprender y seguir este manual es necesario: Disponer del fichero lasolucion50.exe Asegurarse de trabajar con la versión 5.0.0.7 o superior. Para comprobar que versión esta utilizando
Más detallesEn términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.
1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta
Más detallesAcronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Más detallesPresentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:
UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera
Más detallesTutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos
1. Objetivos Este tema de introducción es el primero que debe seguir un alumno para asegurar que conoce los principios básicos de informática, como el manejo elemental del ratón y el teclado para gestionar
Más detallesAyuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...
INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service
Más detallesGUÍA DE USUARIO: GOOGLE DRIVE
GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en
Más detallesTUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK
TUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK 1 Introducción... 2 2 Requisitos previos... 2 3 Desarrollo de una aplicación call center.net con ActiveX evolink... 2 3.1 Crear un proyecto inicial...
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detalles5.2.- Configuración de un Servidor DHCP en Windows 2003 Server
5.2.- Configuración de un Servidor DHCP en Windows 2003 Server En este apartado vamos a configurar el servidor DHCP de "Windows 2003 Server", instalado en el apartado anterior. Lo primero que hemos de
Más detallesInstalación del Admin CFDI
Instalación del Admin CFDI Importante!!!Antes de comenzar verifique los requerimientos de equipo esto podrá verlo en la guía 517 en nuestro portal www.control2000.com.mx en el apartado de soporte, ahí
Más detallesEscritorio remoto y VPN. Cómo conectarse desde Windows 7
Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Hay ocasiones en las que es necesario conectarnos a un equipo informático situado a mucha distancia de donde nos encontramos para realizar sobre
Más detallesCOMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER
2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM vicente@faubell.com Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por
Más detallesC.F.G.S. DESARROLLO DE APLICACIONES INFORMÁTICAS. MÓDULO: Diseño y realización de servicios de presentación en entornos gráficos.
C.F.G.S. DESARROLLO DE APLICACIONES INFORMÁTICAS MÓDULO: Diseño y realización de servicios de presentación en entornos gráficos Unidad 1 Introducción Visual Basic.NET El objetivo de la unidad es conocer
Más detallesTaller: Introducción a Windows Communication Foundation
Taller: Introducción a Windows Communication Foundation Autor: Carlos Milán Figueredo Nivel: 100 (Principiante) Pre-requisitos: Visual Studio 2008 Email: cmilanf@dotnetclubs.com Web: http://www.dotnetclubs.com
Más detallesTutorial DC++ Usarlo es muy sencillo y configurarlo también, aunque tiene algunos trucos importentes.
Tutorial DC++ Para compartir, lo mejor es usar el DC++, que es un programa de intercambio P2P (como el emule) pero optimizado para usarlo en redes locales. Usarlo es muy sencillo y configurarlo también,
Más detallesCONCEPTOS BASICOS. Febrero 2003 Página - 1/10
CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,
Más detallesManual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2
Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera
Más detallesGuía de acceso a Meff por Terminal Server
Guía de acceso a Meff por Terminal Server Fecha:15 Marzo 2011 Versión: 1.02 Historia de Revisiones Versión Fecha Descripción 1.00 03/07/2009 Primera versión 1.01 13/08/2009 Incorporación dominio 1.02 15/03/2011
Más detallesGuía nuevo panel de clientes Hostalia
Guía nuevo panel de clientes Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com 1. Estructura del panel de administración El panel de control presenta un diseño
Más detallesLa pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.
Microsoft Word Microsoft Word es actualmente (2009) el procesador de textos líder en el mundo gracias a sus 500 millones de usuarios y sus 25 años de edad. Pero hoy en día, otras soluciones basadas en
Más detallesMINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007
MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007 Servicio de Informática y Comunicaciones Para poder diseñar un formulario y que éste nos envíe los resultados a nuestro correo electrónico, necesitamos
Más detallesProceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento
Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)
Más detallesGUÍA DE OUTLOOK. Febrero 2010
GUÍA DE OUTLOOK 2007 Febrero 2010 CONFIGURACIÓN: Lo primero que debe hacer antes de abrir Outlook es crear un perfil, al que configurara una cuenta de correo. Para ello vaya a su menú de inicio de Windows
Más detallesSesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto
INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,
Más detallesGUÍA DE USUARIO DEL CORREO
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN DIRECCIÓN GENERAL DE LA OFICINA DE ADMINISTRACIÓN Y SERVICIOS DIVISIÓN DE SOPORTE TÉCNICO Y FORMACIÓN AL USUARIO GUÍA DE
Más detallesCREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx
CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente
Más detallesEjercicios - Persistencia en Android: ficheros y SQLite
Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base
Más detallesExplotación de Sistemas Informáticos IES Murgi 2006-2007 PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE
PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE Índice 1. Instalación...2 2. Administrar los sitios Web... 4 3. Crear un nuevo sitio Web... 4 4. Creación de directorios virtuales... 5 5.
Más detallesPUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004
PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS Junio - 2004 pmqsoft Servicios Informáticos, S.L. www.pmqsoft.com soporte@pmqsoft.com Entendiendo que la instalación ha finalizado y que todo ha salido correctamente.
Más detallesMinisterio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder
Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 5: Report Builder Instituto de Tecnologías Educativas 2011 Informes con Oracle Report Builder En su configuración original, OpenOffice
Más detallesMi correo con OUTLOOK
Mi correo con OUTLOOK En este manual vamos a ver los pasos necesarios para configurar nuestra cuenta de correo. En primer lugar, ejecutaremos nuestro cliente outlook. Si es la primera vez que ejecutamos
Más detallesREDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS
REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del
Más detallesTPV Táctil. Configuración y Uso. Rev. 1.2 21/01/09
Configuración y Uso Rev. 1.2 21/01/09 Rev. 2.0 20100616 1.- Ruta de Acceso a Imágenes. 2.- Estructuración de los Artículos. 3.- Creación de Grupos de Familias. 4.- Creación de Familias de Ventas. 5.- Creación
Más detallesGUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.
GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba
Más detallesCOMO CREAR UNA PÁGINA WEB 3-VÍNCULOS. IMÁGENES. FORMULARIOS.
2011 2012 COMO CREAR UNA PÁGINA WEB 3-VÍNCULOS. IMÁGENES. FORMULARIOS. WWW.FAUBELL.COM vicente@faubell.com VÍNCULOS: Antes de proseguir hemos de repasar el concepto vínculo ya que vamos a utilizarlo mucho
Más detallesPara descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.
Skype Skype: este servicio nos permite comunicarnos en forma sincrónica con nuestros contactos mediante mensajes instantáneos (chat) y realizando video llamadas. Skype Microsoft cuenta con un sistema de
Más detallesEnviar archivos mediante FTP
Enviar archivos mediante FTP Sin lugar a dudas, la forma más rápida de enviarnos los archivos para imprimir es utilizando un Cliente FTP. FTP, acrónimo de File Transfer Protocol, es un protocolo de transferencia
Más detallesDepartamento CERES Área de Tarjetas Inteligentes Manual de Usuario
14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,
Más detallesPráctica 3ProgramacionRS232: Programación básica de la RS232
Práctica 3ProgramacionRS232: Programación básica de la RS232 1 Objetivos El objetivo de esta práctica es la iniciación del alumno en la programación de las comunicaciones en un entorno de desarrollo basado
Más detallesGuía para publicar su equipo en Internet.
Antes de comenzar Guía para publicar su equipo en Internet. Para configurar su equipo y poder publicar sus cámaras en Internet, primeramente es necesario haber abierto los puertos de video y web, que por
Más detallesMANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Más detallesCarlos Castro Grande 1
QUÉ ES VISUAL BASIC.NET? GUIA DE LABORATORIO I TALLER DE DESARROLLO I VB.NET 2012 Es un lenguaje de programación de alto nivel orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo.
Más detallesSMS Gestión. manual de uso
SMS Gestión manual de uso índice qué es SMS Gestión 2 acceso al servicio 3 01 acceso con la clave de servicios de Orange 4 02 acceso personalizado 6 02.1 cómo personalizar su acceso a la aplicación 7 02.2
Más detallesRedes Locales: El protocolo TCP/IP
Redes Locales: El protocolo TCP/IP Los protocolos de red son las reglas que siguen los equipos conectados a la red para poder comunicarse entre sí, y hablar así el mismo idioma. El grupo de protocolos
Más detallesManual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático
Programa de Almacenamiento y Recuperación de Datos Automático CONSEJERÍA DE EDUCACIÓN Dirección General de Participación e Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/04/10
Más detallesPontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents
Más detallesGuía Rápida de Inicio
Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for SharePoint. Para disponer de instrucciones detalladas, por favor, diríjase
Más detallesPREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)
APRENDERAPROGRAMAR.COM PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Más detallesIntroducción al lenguaje Java
Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno
Más detallesGuía de instalación del servidor
Guía de instalación del servidor Autores: Versión: 1.0 Jesús Manuel Rodríguez Sánchez Miguel Ángel Lorente López Fecha: 22/01/2009 Tabla de contenido Manual de Instalación del Servidor 4 Paso 1) Instalar
Más detallesGVisualPDA Módulo de Almacén
GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en
Más detallesRedirección de puertos
1 Redirección de Puertos Redirección de puertos 2 Redirección de Puertos Índice 1. Introducción 3 2. Requisitos necesarios para redireccionar puertos en el router 6 3. Redireccionamiento de puertos 9 4.
Más detallesTEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín
TEMA 4: EMPEZANDO A ESCUELA UNIVERSITARIA DE INFORMÁTICA NAVEGAR Raúl Martín Martín SERVICIOS DE INTERNET SERVICIOS DE INTERNET Las posibilidades que ofrece Internet se denominan servicios. Hoy en día,
Más detallesCOMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor
Más detallesUAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid
MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la
Más detallesPráctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP
Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero
Más detallesAdministración de portales Joomla (II) antonio.duran.terres@gmail.com
Administración de portales Joomla (II) antonio.duran.terres@gmail.com Módulos Con la instalación base de Joomla vienen varios módulos Algunos ya los vimos, como encuestas o Quien está en línea? Hay otros
Más detallesGuía de instalación de la carpeta Datos de IslaWin
Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3
Más detallesPráctica: Creación de un programa C# sencillo
Introducción a C# 1 Práctica: Creación de un programa C# sencillo Objetivos Al final de esta práctica, usted será capaz de: Crear un programa C#. Compilar y ejecutar un programa C#. Usar el Visual Studio
Más detallesManual de usuario de Windows Live Writer
Manual de usuario de Windows Live Writer Índice 0.- Introducción. 3 1.- Descarga e Instalación. 4 2.- Conexión a un blog. 7 3.- Interfaz de Windows Live Writer. 12 4.- Creación de un Post. 13 5.- Creación
Más detallesInternet aula abierta
MINISTERIO DE EDUCACIÓN Y CIENCIA SECRETARÍA GENERAL DE EDUCACIÓN Y FORMACIÓN PROFESIONAL DIRECCIÓN GENERAL DE EDUCACIÓN, FORMACIÓN PROFESIONAL E INNOVACIÓN EDUCATIVA CENTRO NACIONAL DE INFORMACIÓN Y COMUNICACIÓN
Más detallesINSTALACIÓN DE MEDPRO
1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso
Más detallesUnidad Didáctica 12. La publicación
Unidad Didáctica 12 La publicación Contenido 1. Desarrollar y explotar 2. Definición del Sitio 3. Alojar nuestra primera página Web 4. Configurar la conexión FTP U.D. 12 La publicación 1. Desarrollar y
Más detallesSUBDIRECCIÓN GENERAL DE NUEVAS TECNOLOGÍAS DE JUSTICIA MANUAL DE USUARIO DE LA NUEVA APLICACIÓN DE CORREO ELECTRÓNICO
MANUAL DE USUARIO DE LA NUEVA APLICACIÓN DE CORREO ELECTRÓNICO Control de Cambios Descripción Autor Fecha Creación del Documento Jesús Iglesias Mirad 25/06/09 0. Índice 0. Índice... 1 1. Introducción...
Más detallesHOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX
HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX 1- En este how to realizaremos una conexión remota mediante vpn; lo que haremos es comprobar primero que las maquinas que vamos a conectar, se puedan ver y
Más detallesApéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario
Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...
Más detallesSTRATO LivePages Inicio rápido
STRATO LivePages Inicio rápido LivePages es la práctica herramienta de creación de páginas web de STRATO. En pocos pasos podrá crear su propia página web y publicarla en Internet sin necesidad de conocimientos
Más detallesCrear la base de datos antes de la instalación de Wordpress.
Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para
Más detallesEdición de Ofertas Excel Manual de Usuario
Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE
Más detallesProyecto de Facturación con Filemaker Pro 12
Proyecto de Facturación con Filemaker Pro 12 Autor: Pere Manel Verdugo Zamora Web: http://www.peremanelv.com/pere3/sitio_web_2/bienvenida.html E- Mail: pereverdugo@gmail.com Autor: Pere Manel Verdugo Zamora
Más detallesRace Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL
GUIA RACE MANAGER Eventronic, SL DESCRIPCIÓN DEL PROGRAMA El Race Manager es un programa que se creó para facilitar el trabajo de la dirección de carrera de un evento durante y después de una carrera.
Más detallesDominios. Cómo guardar los datos de configuración de mi dominio y el contenido de los servicios asociados
Dominios Cómo guardar los datos de configuración de mi dominio y el contenido de los servicios asociados Este manual de servicio es propiedad de Telefónica de España SAU, queda terminante prohibida la
Más detallesEscudo Movistar Guía Rápida de Instalación Dispositivos Symbian
Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3
Más detalles1. El entorno de desarrollo Eclipse
Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................
Más detallesImporta los datos de tu empresa a ClassicGes 6
Importa los datos de tu empresa a ClassicGes 6 Y trabaja con el programa desde el primer momento El proceso de importación es una operación ágil y transparente para el usuario, que te permite disfrutar
Más detallesExisten dos formas básicas de publicar una página web, a través de un cliente FTP (Ej. NicoFTP) o a través de FrontPage.
Manual básico de su pack de Alojamiento Web 1. Publicar una página web. Publicación web desde FrontPage. Publicación web con un Cliente FTP. (Ej. NicoFTP) 2. Cuentas de correo. Crear una nueva cuenta de
Más detallesCapítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE
Capítulo 3 Usando GUIDE 3.1 Acerca de GUIDE Las interfaces gráficas de usuario (GUI - Graphical User Interface en inglés), es la forma en que el usuario interactúa con el programa o el sistema operativo
Más detallesMANUAL BÁSICO PARA CLIENTES
2011 MANUAL BÁSICO PARA CLIENTES DEPARTAMENTO TÉCNICO COMENERSOL WIRELESS ÍNDICE Paso 0: Qué hacer cuando internet no funciona....3 Paso 1: Comprobar que la antena está bien conectada..4 Paso 2: Comprobar
Más detallesMANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS
MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS En este manual aprenderemos a introducir un Ticket de Soporte (Incidencia Informática) y ver todo el proceso hasta que se resuelve. Para poder escribir Tickets
Más detallesEste programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer.
Outlook Express Este programa se encuentra en el paquete Microsoft Explorer 5.0 y se instala al mismo tiempo que el navegador Microsoft Explorer. Configuración de cuentas de correo 1. Arrancar el programa
Más detallesCombinar correspondencia (I)
Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo
Más detallesCopias de Seguridad con SQL Server 2005. Realizar una copia de seguridad de Bases de Datos
Propósito Copias de Seguridad con SQL Server 2005 Con Management Studio del SQL 2005 es posible crear copias de seguridad de las bases de Datos definidas en el servidor de SQL Server. Dicha copia de seguridad
Más detalles