Чат на UDP и TCP протоколах
Приветствую!
Это работа одного из учеников нашего центра Многосмыслова Александра.
Получился замечательный пример программы работающей в протоколах UDP и TCP.
Скачать программу можно тут — csharp_tcp_udp_chat
Вот его сообщение:
«Добрый день всем читателям.
Сегодня мы рассмотрим реализацию чата на UDP и TCP протоколах.
Чат на протоколе UDP. Почитать об этом протоколе вы сможете в википедии, а мы перейдем к главному. Итак, у нас есть две программы-клиента (да, консольные, но перенести это на форму не предоставит труда). При запуске мы введем локальный (local) и удаленный (remote) порты, а также IP.
Примечание: удаленный порт должен быть таким же, как и локальный порт второго клиента и наоборот.
Так как это тестируется все на одной машине, то и IP будет localhosta’а.
Рассмотрим основные функции, которые мы использовали в проекте:
IPAddress – предоставляет IP-адрес.
STAThread – указывает, что потоковая модель для приложения является однопотоковым подразделением (STA).
Thread – создает и контролирует поток.
Exception – предоставляет ошибки, происходящие во время выполнения приложения.
UdpClient – предоставляет сетевые службы протокола UDP.
IPEndPoint – Представляет сетевую конечную точку в виде IP-адреса и номера порта.
Чат на протоколе TCP. Это более защищенный протокол. В этом случае пойдем немного другим путем и помимо клиентских программ, реализуем еще и сервер. Какова его роль? По сути весь диалог будет проходить через него и теперь можно подключить более двух клиентов. На сервере будет вести историю общения всех пользователей.
Рассмотрим основные функции, которые мы использовали в проекте:
TcpListener – прослушивает подключения от TCP-клиентов в сети.
Thread – создает и контролирует поток.
TcpClient – предоставляет клиентские подключения для сетевых служб протокола TCP.
NetworkStream – Обеспечивает базовый поток данных для доступа к сети.
IPEndPoint – Представляет сетевую конечную точку в виде IP-адреса и номера порта.
С уважением, Многосмыслов Александр.
Понравилась статья? Жми: | Поделиться в соц. сетях |
Эмммм… А чем TCP более защищен?