Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
 Аватар для lolCreeper0
3 / 3 / 1
Регистрация: 09.07.2017
Сообщений: 172
.NET 2.x

Онлайн чат. Сервер+клиент

23.02.2019, 13:32. Показов 5860. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Мне захотелось сделать свой онлайн чат для своих друзей, но так как я любитель в C#, я никогда не делал чат толком.
Все примеры которые я находил в интернете, они мне вообще не подходили. Разбирался всё и вся, одна готовая прога с сервером не работала вообще, а вторая с клиентом и сервером вообще лочится только на одном компьютере, т.е. только по локалхосту, даже через локальную сеть пробовал, используя 2 компьютера, поместил на одном сервер, а на другой клиент. Всё-равно не работало так как надо.
Разбирался с TCP и UDP соединениями, способы подключения, но всё тщетно.
Кто-нибудь из этого форума поможет мне с чатом? Главное чтоб в интернет выходил сервер, прослушивались порты и чтоб клиенты работали. Прошу помочь!
Вложение внизу, многое менял и возвращал.
Вложения
Тип файла: 7z Desktop.7z (231.0 Кб, 61 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2019, 13:32
Ответы с готовыми решениями:

Принятие сообщений от сервера в бесконечном цикле (Клиент-Сервер Чат)
Если кто то написал сообщение то это сообщение обрабатывает сервер и рассылает всех клиентам.. Но проблема в том что не понимаю как...

Как сделать чат клиент-клиент
Доброго времени суток! Как сделать чат клиент-клиент? А не как большинство клиент-сервер! Буду рад помощи!

Клиент-сервер: Как определить, что клиент отключился?
Привет. Есть клиент и сервер, при подключении клиента, на сервере создается класс, который содержит копию сокета и всякую инфу клиента, и...

7
 Аватар для lolCreeper0
3 / 3 / 1
Регистрация: 09.07.2017
Сообщений: 172
28.02.2019, 18:37  [ТС]
Эмм... Так никто и не хочет мне помочь?
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
28.02.2019, 21:48
1 не работает по сети, т.к. он слушает только loopback сетевой интерфейс (localhost) ( <add baseAddress="net.tcp://localhost:1234/Chat/ChatService"/>).
Дальше не смотрел.

Не по теме:

В общем, учите основы, разбиратесь, задавайте конкретные вопросы, а разбираться с кучей проектов найденных вами на просторах интернета никому не интересно.

0
 Аватар для lolCreeper0
3 / 3 / 1
Регистрация: 09.07.2017
Сообщений: 172
08.03.2019, 20:34  [ТС]
Порты наконец-то стали открываться.
Но появилась другая проблема: При введении DDNS сервера просто выдаёт ошибку - An invalid IP address was specified.
В то время как через IP адрес моего роутера подключение происходит спокойно и без ошибок.
Как реализовать подключение через DDNS?

P.S. Мой интернет не имеет выделенного IP адреса, поэтому хочу воспользоваться DDNS.
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
08.03.2019, 21:08
C#
1
2
string ddnsAddress = "some.ddns.service.your_id";  
IPAddress[] ipaddress = Dns.GetHostAddresses(ddnsAddress);
0
 Аватар для lolCreeper0
3 / 3 / 1
Регистрация: 09.07.2017
Сообщений: 172
08.03.2019, 21:22  [ТС]
Цитата Сообщение от nicolas2008 Посмотреть сообщение
1
2
string ddnsAddress = "some.ddns.service.your_id";
IPAddress[] ipaddress = Dns.GetHostAddresses(ddnsAddress);
Выдаёт ошибки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        private void ChatForm_Load(object sender, EventArgs e)
        {
            IPAddress[] temp = Dns.GetHostAddresses(ddnsAddress);
            _serverSocket = new Socket(temp.AddressFamily, SocketType.Stream,ProtocolType.Tcp);
            _serverSocket.Connect(new IPEndPoint(temp, _port));
            if (_serverSocket.Connected)
            {
                enterChat.Enabled = true;
                nicknameData.Enabled = true;
                AddMessage("Связь с сервером установлена.");
                listenThread = new Thread(listner);
                listenThread.IsBackground = true;
                listenThread.Start();
                
            }
            else
                AddMessage("Связь с сервером не установлена.");
            
        }
Ошибки:
1. 'IPAddress[]" не содержит определения для "AddressFamily" и не удалось найти метод расширения "AddressFamily", принимающий тип "IPAddress[]" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).

2. Не удается преобразовать из "System.Net.IPAddress[]" в "long".
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
08.03.2019, 21:39
https://www.tutorialsteacher.c... ray-csharp
0
 Аватар для lolCreeper0
3 / 3 / 1
Регистрация: 09.07.2017
Сообщений: 172
08.03.2019, 22:48  [ТС]
Сделал немножко по другому.
С помощью этого я разобрался как получить IP:
C#
1
2
3
4
5
6
// Получение имени компьютера.
String host = System.Net.Dns.GetHostName();
// Получение ip-адреса.
System.Net.IPAddress ip = System.Net.Dns.GetHostByName(host).AddressList[0];
// Показ адреса в label'е.
label1.Text = ip.ToString();
Тему можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2019, 22:48
Помогаю со студенческими работами здесь

Клиент-серверное приложение: как определить, что сервер/клиент не отвечает в течении определенного времени
Пишу клиент-серверное приложение. Использую TCPListener и TCPClient. Вопрос: как определить что сервер(клиент) не отвечает в течении...

Онлайн чат через Интернет
Можно ли создать программу для обмена сообщениями между двумя пользователями, не по локальной сети, а через интернет. Пойдёт ли язык C# или...

Клиент-сервер. Клиент не принимает данные
Здравствуйте о светлейшие умы сего мира! Я работаю над одним проектом, а именно написание многопользовательской онлайн игры, и собственно...

Не блокируется поток в клиент-серверном приложении (чат)
Всем доброго дня! На лабораторной (да я студент) задали реализовать чат. В ходе реализации решил использовать асинхроный метод приема...

Клиент-Сервер. Удалённый сервер
Всем здравствуйте. Я заинтересовался написать клиент-сервер приложение. Написал я отдельную консольную программу сервера и клиента. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru