Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: adgellida en 14 Abril 2009, 14:09 pm



Título: Comunicar PC con PC via internet desde visual c#
Publicado por: adgellida en 14 Abril 2009, 14:09 pm
Hola, quiero tener un programa en un pc que se comunique con otro pc via internet.
Si le tiko en un box de ese programa que envía por internet la trama que debe enviar por puerto serie el segundo pc. En ese segundo PC tengo un microcontrolador por tanto se podría controlar desde internet desde cualquier ordenador, ya que el micro está conectado por puerto serie al otro pc. La pregunta es:

¿Cómo se hace eso?

Me han dicho que debo incluir dos conceptos en el programa del primer ordenador (y a lo mejor algo más en el segundo)

Uno se llama thread y otro socket udp, donde será cliente/servidor (donde está el micro conectado)

Por tanto para establecer comunicacion udp entre dos pcs, ¿qué código debo insertar en el mío y cómo lo debo modificar para que funcione? (estilo donde pongo la IPAdress..)

Grácias

Ni que decir que lo necesito rápido porque es para un proyecto del último trimestre


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Pablo Videla en 14 Abril 2009, 14:43 pm
Si llegas a encontrar info me gustaria que me enviaras un privado o lo postearas aqui , ya que necesito lo mismo pero solo por curiosidad =P


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: adgellida en 14 Abril 2009, 14:47 pm
estoy en ello compadre dentro de unas horas te la envio.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: seba123neo en 15 Abril 2009, 04:34 am
hay una pequeña diferencia diria entre visual basic y visual C#...fijate antes de postear..

saludos.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: KJD en 15 Abril 2009, 14:10 pm
Es bastante facil lo que buscas, solo necesitas establecer conexión entre los pcs y mandar una string o una serie de numeros para que la maquina destino interprete y mande al puerto donde esta conectado el Microcontrolador.

Ahora, lo mejor seria usar una aplicacion cliente\servidor de conexión inversa, si sabes de C# te sera mucho mas facil aprender lo que hace el programa.

Te dejo un ejemplo de una aplicacion cliente servidor en C# solo faltaria la rutina para manejar el puerto serie.

http://www.codeproject.com/KB/cs/ReverseRAT.aspx



Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: adgellida en 15 Abril 2009, 20:34 pm
gracias, de esa rutina dispongo, me podrías decir exactamente las líneas que tendría que pegar para establecer la comunicación?? Si me funcionara postearía el código y así aprenderíamos todos a hacerlo. Por tanto en el programa de cliente pongo lo de cliente y en el de server pongo lo de server? Esto se vuelve interesante


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: adgellida en 15 Abril 2009, 20:47 pm
el problema es que es para visual 2005 y yo utilizo el 2008 express, alguna ayuda al respecto?


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Myth.ck en 15 Abril 2009, 21:01 pm
... Uhmmm... Esa tiene que ser tu única solución?... Podrías probar también con placas ethernet

(http://img211.imageshack.us/img211/4862/diagxw1.jpg)

Salu2!


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: KJD en 16 Abril 2009, 14:58 pm
urban fury, el ejemplo que te pase o podes abrir tranquilamente con el 2008, lo abre y lo actualiza automaticamente.

Si tenes la rutina ya es mas sencillo solo lee bien el proyeto que te explica bien como funciona y que hace cada instruccion.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: adgellida en 16 Abril 2009, 22:20 pm
 ;-)gracias ahora miraré a ver, pero si alguien m aclarara el tema mucho mejor. Me voy a leer el código a ver si lo entiendo. La historia es que puedo copiar ese código cliente en mi programa cliente y en mi servidor le copio el servidor, lo pongo donde sea y le cambio los atributos y deberia de funcionar no?? Lo que yo le mande via internet al otro pc lo pasaría por el rs232 del otro no?


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Myth.ck en 18 Abril 2009, 02:43 am
Hola, puedes hacerlo a travees de rs232 o bien para mayor velocidad puedes utilizar usb.

Salu2!

PD: A menos claro que utlice comunicación serial y quieras usar un tratador de niveles de tensión como el MAX232, y tambíen depende del codeador


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Meta en 19 Abril 2009, 13:14 pm
Hola:

Eso es lo que estaba haciendo yo hace un tiempo y funciona al menos con  tramas, pero las tramas las pueden coger en el aire y hackearte el server.

http://foro.elhacker.net/net/cliente_servidor-t249319.0.html

Aunque ahora lo tengo abandonado por falta de tiempo, quiero controlar el puerto serie desde el PIC a través de Internet. El cliente servidor lo tengo hecho y funciona la base, pero lo de tramas no tiene acuse recibido como un FTP. Es mejor usar socket por lo que me lo recomiendan, aún no me metí con socket que ya haré.

Que casualidad que desde que empecé con este proyecto por varios foros, pidan lo mismo que yo...

8koidQrv4Kg

Saludo.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Myth.ck en 19 Abril 2009, 16:20 pm
Hola Meta. Que interesante tu proyecto la verdad. Por lo que he visto te dedicas a programar los pics por ASM?

Probaste la técnica por ethernet que te he dejado un poco más arriba? Es algo interesante. Tu guardas una ip dentro de tu pic EJ y luego desde una página te conectas a el vía internet.

Salu2!


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Meta en 19 Abril 2009, 18:37 pm
Hay varias técnicas, la que dices es una de ellas. La IP la conecto en la interfaz del servidor para que acepte peticiones, desde ahí controla el puerto serie.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Myth.ck en 19 Abril 2009, 19:05 pm
Exactamente aunque no entiendo porque utilizas todavia el puerto serie pudiendo utlizar USB. Claro está que los $$$ limitan mucho esto. Es muy distinto utilizar una familia 16xxx a una 18xxx

Salu2!


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Meta en 19 Abril 2009, 20:39 pm
A nivel industrial se usa demasiado el COM o RS232. El USB se puede utilizar para ello ya se necesitan PIC preparados para ellos como el PIC2550/4550 de USB 2.0, en el futuro ya saldrá el USB 3.0.

Para estas cosas no hacen faltan cantidades de datos ya que no son transferencias de imágenes, vídeos o audio que eso si que gastan recursos, para puerto serie se usa mucho datos muy pequeños. A parte que el COM es más fácil de usar que el USB.

En el futuro haré un manual pero con USB.

http://www.abcdatos.com/tutoriales/tutorial/v12.html
http://www.abcdatos.com/tutoriales/tutorial/z9521.html


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Myth.ck en 19 Abril 2009, 21:48 pm
 ;D Lo estaré esperando.
En general en la secundaria también he utilizado RS232 pero por que mis posibilidades económicas no eran seguras como para comprar un 18F452 xD siempre he trabajado con el 16F877 jejeje
Salu2!


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Meta en 19 Abril 2009, 22:18 pm
Ahora se usa el 16F887, la diferencia son algunas, entre ellas que ya se puede usar el oscilador interno.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: KJD en 20 Abril 2009, 16:57 pm
Gente bastante interesante los proyectos, sobre todo lo de el pic directamente a la ethernet, o eso entendi, ahora se puede conectar el pic directamente a la ethernet, o se tiene que acoplar a una tarjeta de red como vi en algunos lados???


urban fury, pudiste con el programa??? si no le encontras solucion postea los codigos que tengas y le echo un vistazo.

Meta, lo mismo para ti, que problemas tienes con tu aplicacion???

Saludos.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Myth.ck en 20 Abril 2009, 20:26 pm
Lo de ethernet se realiza mediante una placa con una entrada para tal conexion.

Salu2!


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: KJD en 21 Abril 2009, 02:55 am
bueno si, ovbio que la placa tiene que  ser ethernet  ;D, pero talvez no me exprese bien, lo que quise decir es si al pic se le conecta directamente la ficha ethernet o al pic se lo conecta a una placa de red ethernet comercial y de ahi se controla.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Meta en 21 Abril 2009, 15:26 pm
Se conecta.

PIC---------->>Circuito---------->>Tarjeta Red.

No pueden ir directamente ya que son tensiones diferentes. Hay PIC preparados con funciones de red, otras no, por eso uso la red o Internet con interfaz bajo Visual C#, VC++ o VB .net.


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: KJD en 21 Abril 2009, 16:26 pm
Gracias Meta ahora entendi. si, lo mejor siempre es meter una pc de por medio, mas barato y menos problematico.  ;D


Título: Re: Comunicar PC con PC via internet desde visual c#
Publicado por: Meta en 21 Abril 2009, 17:58 pm
El que estaba haciendo y funciona con funciones básicas es este:

(http://electronicapic.iespana.es/cs/pc2_fisico.jpg)

Saludos.