Me doy cuenta de que esta pregunta es similar tosomeothers, pero calculé que mi situación es lo suficientemente diferente como para justificar su propia pregunta (con suerte).Establezca una conexión P2P en C#
Lo que estoy planeando es implementar un programa en la computadora de otra persona que abrirá una conexión a mi computadora después de lo cual, supongo, las computadoras deberían poder comunicarse entre sí. Una vez que se inicia el programa, debería ser capaz de extraer la información de la dirección y el puerto (si no están bloqueados) para crear una conexión, ¿no?
Lo que es más, es la configuración de Internet del dormitorio en el que vivo. Cada habitación tiene asignado un puerto único y una dirección IP estática asignada por un servidor DHCP. ¿Cómo factoro esto en el diseño de mi programa?
Estoy pensando que esta configuración no requiere un servidor como punto de acceso intermedio, ya que los detalles de mi dirección siempre serán los mismos y la computadora host simplemente puede conectarse a mi computadora sin más información. ¿Es esto correcto?
Finalmente, estoy leyendo algunas páginas sobre cómo crear una conexión, pero estoy confundido con todas las posibilidades de TcpConnection, WCF, CORBA, etc. ¿Cuál de las dos sería la más simple para empezar suponiendo que solo quiero para enviar mensajes a la otra máquina?
Actualización:
La dirección es estática en el sentido de que no cambia. Mi dirección IP tiene el formato 130.83.20.xxx y puedo esperar a que el servidor DHCP me asigne esta dirección, o puedo ingresarla manualmente usando una configuración de IP estática.
En cuanto a los mensajes en sí, los mensajes de texto simples serán suficientes para el inicio. Los puertos mencionados anteriormente son los puertos del conmutador y no entran en juego durante la programación de la red, creo.
Para guiarlo, necesitaremos saber más acerca de su objetivo. Dependiendo de la naturaleza de los datos que necesita enviar, TcpConnection podría ser bueno, pero quizás un mejor servicio de WCF sería mejor. No entiendo a qué te refieres cuando dices que a cada habitación se le asigna un puerto y una IP estática ... ¿Te refieres a un puerto físico? De ser así, eso no entra en juego durante la programación de la red. Los puertos TCP/UDP sin embargo, son importantes. Necesitará qué puertos están disponibles para su uso. – Nate
@Nate: Gracias por el aviso. Por ahora, solo quiero probar este programa en la computadora de un amigo y creo mensajes de texto simples como, "Hola, ¿cómo estás?" debería estar bien. Bueno, por ejemplo, mi dirección IP es 130.83.20.103 o algo así. No cambia El servidor DHCP me asigna esta dirección o puedo ingresarla manualmente. Cada habitación tiene un puerto que puede ser bloqueado por la administración central de TI. Estos son los puertos del conmutador, creo. – IAE
Si el servidor DHCP puede asignarle una dirección IP de '130.83.20.103', entonces no debería configurarse manualmente para tener esa dirección IP. Si lo hizo y el servidor DHCP le asigna esa dirección a otra persona, terminaría con un conflicto de direcciones IP y efectivamente un ataque de denegación de servicio contra el pobre imbécil al que el servidor DHCP le dio esa dirección IP. – Justin