#c# #chat
#c# #Чат
Вопрос:
Насколько я понимаю, можно написать приложение для чата (сервер клиент) без какого-либо веб-сервера. В качестве сервера мы можем использовать просто класс, прослушивающий TCP-порт. В качестве клиента мы также можем использовать класс.
Итак, возможно написать это приложение в рамках одного приложения WPF, так это или нет?
Ответ №1:
В принципе, да. Это можно легко сделать с помощью служб Windows Communication Foundation (WCF). Но по крайней мере одна из ваших конечных точек чата должна была бы указать IP-адрес другой.
Обратите внимание, что это не имеет никакого отношения к WPF. WPF — это просто способ рисования приложения / элементов управления. Это также будет работать с приложениями Windows Forms.
Комментарии:
1. и если клиент и сервер находятся на одной машине и их IP-адреса совпадают, каково решение?
2. @Sergey — ну тогда ты просто вводишь «127.0.0.1» или «localhost» в качестве ip-адреса. Это работает.
3. @Sergey — Да, это также работает со многими клиентами. Вы хотите, чтобы каждый клиент общался друг с другом? Нравится отношение n к n? Это возможно, но это создаст много трафика. Я бы рекомендовал использовать 1 сервер для рассылки сообщений каждому клиенту, который подключен к серверу. Таким образом, каждому клиенту нужно знать только ip-адрес сервера.
Ответ №2:
Да, можно сделать так, как вы описали … один класс для сервера и один для клиента.
Ответ №3:
Думаю, я правильно вас понял, но если нет, дайте мне знать.
Можно написать клиент чата в одном приложении WPF, однако, если вы создаете приложение чата по модели клиент-сервер, вам также понадобится сервер чата, который, по всей вероятности, не будет приложением WPF.