Общение с приложениями в локальной сети - PullRequest
1 голос
/ 03 января 2011

Я хочу закодировать приложение в развлекательных целях.Это должно быть приложение Desktop, которое обнаруживает себя запущенным на других компьютерах в той же локальной сети и связывается с ними.Под общением я подразумеваю, что я должен иметь возможность передавать что-либо от одного другому.

Обратите внимание, что, хотя я не прошу код (который, конечно, побил бы мою цель), я думаю, что некоторые небольшие фрагментыне больно.В любом случае, что мне действительно нужно, так это «рекомендуемая процедура», я имею в виду то, что Microsoft рекомендует для этой среды, и документацию:)

Ответы [ 3 ]

3 голосов
/ 03 января 2011

Если это ваше первое сетевое приложение, вам следует начать с сокетов, чтобы вы могли понять и оценить проблемы, связанные с созданием такого приложения с нуля.По сути, вы пытаетесь создать одноранговое приложение.Есть много вещей, о которых вы захотите подумать и исследовать, например:

  1. Обнаружение в одноранговой сети - обнаружение других экземпляров в сети и выяснение, находятся ли они в сети или нет
  2. Обмен сообщениями - разработка протокола для вашего приложения на проводе
  3. Безопасность - такие вещи, как шифрование, предотвращение повторных атак и т. Д.базовые концепции), вы захотите перенести все это на структуру, а не разрабатывать все с нуля.Я думаю, что WCF одноранговый будет соответствовать вашим потребностям.
2 голосов
/ 03 января 2011

Как сказал Таз, программирование сокетов - лучший выбор, но вы можете использовать другие решения, такие как WCF (обычно не рекомендуется).

О поиске других экземпляров на LAN Могу сказать, что вам нужен алгоритм сканирования. Большинство worms имеют такой алгоритм распространения. Вам следует учитывать многие сетевые проблемы, такие как открытые порты на цели LAN и ограничения брандмауэра.

Другая точка может использовать порт TCP свыше 5000 (до 65535, но не использовать известные порты), поскольку порты до 5000 могут использоваться операционной системой.

Также необходим собственный протокол по TCP / IP для обмена сообщениями / командования и передачи данных между узлами.

В конце концов, это хорошая идея - обратиться за помощью к консультанту по сетевым технологиям / безопасности в таких проектах, поскольку большинство проблем, с которыми вы сталкиваетесь, касается не программирования, а сетей.

1 голос
/ 03 января 2011

Программирование сокетов?Заставьте их прослушивать определенный порт, и при каждом запуске приложения оно должно подключаться к этому сокету, и они оба будут подключены.Я не уверен, как приложение должно искать другие экземпляры приложений, работающие в локальной сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...