2011-12-29 3 views
1

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

+1

возможно через lan только я думаю – Moonlight

+0

Вы задали этот вопрос несколько дней назад, который был закрыт, а затем, вероятно, удален. – Yuck

+0

проверьте это: http://www.dreamincode.net/forums/topic/44108-serverless-lan-chat-application-best-practices/ –

ответ

3

Да, это возможно с платформой .NET. Я сделал это как забавный проект с двумя чат-партнерами и только по локальной сети.

Я сделал это с TcpListnerClass. Надеюсь, что это поможет.

+0

работает ли это с несколькими компьютерами или более 2 пользователей? Я пробую его с 3 компьютерами, но он работает только с двумя и тремя компьютерами, которые не могут развязать разговор. есть ли что-то другое, что я должен делать, поэтому третий компьютер может присоединиться к разговору? – Eric

+1

@ Эрик. Если вы используете TCP, вам нужно управлять одноранговыми соединениями в разных потоках, и если вы ожидаете, что сообщение, отправленное из Peer A, отправится в Peer B и Peer C, вам нужно будет явно отправить их им индивидуально (если вы не настроили группу многоадресной рассылки). –

3

Как сказал Tobivo, это абсолютно возможно. Here - образец от Microsoft, который делает это через WCF, используя каналы P2P.

Если вы хотите построить его с нуля, я бы рекомендовал использовать UDP, а не TCP, потому что обмен сообщениями является легким, и тривиально реализовать автоматическое обнаружение одноранговых узлов, используя, при необходимости, широковещательную передачу UDP. Для этого вы можете использовать класс UDPClient или для более тонкого контроля зерна непосредственно для класса Socket.

1

Это приложение here написано на C#, WCF и WPF. Я считаю, что это то, что вы ищете. Он использует PNRP для подключения без сервера.

Смежные вопросы