Título: Como puedo elaborar esta idea ? Publicado por: TrashAmbishion en 23 Julio 2016, 00:22 am Hola,
Amigos tengo una aplicación cliente/servidor, cuando un cliente se conecta tengo un ListBox al que añado la ip del cliente, pero esto necesito modificarlo y mostrar el nombre del cliente, esto lo puedo hacer sin problemas el tema es que tengo una opción para desconectar a un cliente y necesito pasarle como parámetro la ip de dicho cliente que sacaba del ListBox pero si en vez de añadir la ip añado el nombre al Listbox ya tendría que ingeniar otra forma. Como podría solucionar esto. Salu2 y gracias de antemano !! Título: Re: Como puedo elaborar esta idea ? Publicado por: Eleкtro en 23 Julio 2016, 00:42 am Como podría solucionar esto. Simplemente crea un type para almacenar el nombre y la ip, y en el listbox muestras uno de esos dos datos almacenados: Código
Código
Obtener ip por nombre: Código
Otra forma de elaborar la idea, sobre todo la obtención de la ip, sería crear/heredar una colección y añadir un indexer que tome un nombre, es más cool pero es un ejemplo algo costoso de escribir y con eso que te puse arriba con LINQ consigues lo mismo. Saludos Título: Re: Como puedo elaborar esta idea ? Publicado por: TrashAmbishion en 23 Julio 2016, 04:55 am Gracias voy a implementarlo.
PD: Cuando desconecte a un cliente evidentemente tengo que retirarlo del List, supongo que llamando al metodo: Código
Salu2 Título: Re: Como puedo elaborar esta idea ? Publicado por: TrashAmbishion en 23 Julio 2016, 05:45 am Me dice en la línea
Código
Que no puede convertir el valor de ClientInfo a String Salu2 Título: Re: Como puedo elaborar esta idea ? Publicado por: TrashAmbishion en 5 Agosto 2016, 06:59 am Necesito pasar una estructura:
Usuario Contraseña Ip Pudiera usar la misma idea, verdad? La duda que tengo y me tiene pensativo es como paso esa estructura de una forma no muy rebuscada (para futuro entendimiento) hacia la otra aplicación y esta la pueda utilizar sin mucha complicación. Salu2 y gracias de antemano Título: Re: Como puedo elaborar esta idea ? Publicado por: Eleкtro en 5 Agosto 2016, 11:29 am Necesito pasar una estructura: Usuario Contraseña Ip Pudiera usar la misma idea, verdad? Por supuesto, la idea que te mostré arriba la puedes implementar con la cantidad de campos que desees. Por otro lado, si por "estructura" también te estás refiriendo a utilizar el tipo Structure, entonces debes tener en cuenta la cantidad de campos que definas, o mejor dicho el tamaño de la estructura, y si los campos se pasan por valor o por referencia. La duda que tengo y me tiene pensativo es como paso esa estructura de una forma no muy rebuscada (para futuro entendimiento) hacia la otra aplicación y esta la pueda utilizar sin mucha complicación. Tienes varias opciones para la comunicación entre procesos, pero ya que tu aplicación se basa en el uso de Sockets, entonces lo más directo sería aprovecharte de una metodología basada en Sockets, por ejemplo creando un NetworkStream basado en un Socket. Teniendo una class como esta de aquí abajo definida tanto en la app cliente como en la app servidor, tienes a tu disposición varias alternativas para llevar a cabo lo mismo (la conversión de tipos): Código
Ejemplo: Código
Código
Hay varias maneras de hacerlo, también podrías especificar el tamaño de cada string en los primeros bytes para parsearlo de otra manera, como a ti te resulte mejor. O incluso puedes recurrir a técnicas de marshalling con estructuras de un tamaño fijo definido, pero eso lo veo innecesario, rebuscado y sobretodo tedioso. Lo cierto es que no lo he testeado en profundidad usando un socket, pero espero que esa class y el ejemplo te sirva para hacerte una idea, si sigues teniendo dudas o no te convence esa metodología entonces puedes probar otras:
Saludos! Título: Re: Como puedo elaborar esta idea ? Publicado por: TrashAmbishion en 6 Agosto 2016, 16:08 pm Muchas gracias lo analizaré y acomodaré.
Thx a lot.. Título: Re: Como puedo elaborar esta idea ? Publicado por: TrashAmbishion en 12 Agosto 2016, 17:22 pm El código esta perfecto lo que sucede es que no lo he podido implementar del todo por que hay cosas que no comprendo bien y no logro adaptarlo al proyecto que estoy usando como base.
El codigo que tengo envia asi: Código
Mi pregunta hay alguna forma de mandar el tipo ClientInfo usando esta opción y poderlo recibir en el Servidor para hacer una comparación con los usuarios registrados. |