2012-02-09 3 views
-3

Я работаю над созданием C# P2P чата-мессенджера без центрального сервера. И мне нужна помощь в том, как я должен начать реализацию модели.Создание P2P-соединения с TCP/IP?

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

+0

Вы могли бы рассмотреть вопрос об использовании [WCF Peer канал] (http://msdn.microsoft.com/en-us/library/ bb756931.aspx) для ухода за вашей топологией. – Douglas

+0

Это в локальной сети? Какова цель передачи UDP во втором абзаце? - Это не очень понятно. – halfer

+0

это в локальной сети, широковещательная передача UDP, так что другие сверстники знают, что thew peer включен, затем они подключаются к этому новому партнеру, используя TCP – Annabelle

ответ

2

Вы можете использовать привязку NetPeerToPeer WCF, которая позади обложки делает примерно то же самое. Вы полагаетесь на сети MS, хотя связываете узлы вместе в облаке.

WCF Peer to Peer, Are There Nodes Out There?

http://msdn.microsoft.com/en-us/library/cc297274.aspx

http://msdn.microsoft.com/en-us/magazine/cc700336.aspx

http://msdn.microsoft.com/en-us/magazine/dd882514.aspx

+0

спасибо, это помогает. Я посмотрю. – Annabelle