|
Музыка нас Связала
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
|
|||||||||||
Чат (Сервер|Клиент) с UDP протоколом27.12.2013, 17:30. Показов 7845. Ответов 8
Метки нет (Все метки)
Всем Привет,
вообщем задача написать простенький чат c использованием UDP протокола. Для начала я написал эхо-сервер (1 сервер - 1 клиент). Все работает на ура. Но 1 клиент для чата - это не дело. Нужно было как-то реализовать работу с n-Клиентами. Тут и "встал вопрос" - Как? UPD работает без сессий, а значит нельзя использовать "accept" и прочее, что можно с TCP. Значит так, как лучше всего запоминать пользователей? Лучше посылать простой текст на сервер или стуктуру (к примеру имя, сообщение, время, комманда)? Мои наработки (пока 1x-1x): server.c
0
|
|||||||||||
| 27.12.2013, 17:30 | |
|
Ответы с готовыми решениями:
8
Низкоуровневые сокеты. Udp клиент-сервер
Клиент-сервер udp: реализовать подключение множества клиентов |
|
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
| 27.12.2013, 18:45 | |
|
Достаточно запомнить адреса, с которых приходят сообщения, client_addr то есть.
1
|
|
|
Музыка нас Связала
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
|
|
| 27.12.2013, 20:03 [ТС] | |
|
А как на счет идеи, коннектится по TCP, а обмениваться данными|сообщениями по UDP, стоит оно того или из разряда тех еще велосипедов?
0
|
|
|
Z3JheSBoYXQ=
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
|
||
| 28.12.2013, 21:45 | ||
|
Добавлено через 4 минуты И да, я бы использовал не ip клиентов при udp, т.к. ip имеет нестабильное состояние при динамических адресах клиентуры или использования "прокладок" ( прокси и иже с ними ), а цеплять к пакетам уникальный ключ, по аналогии с ключами ssh, только проще.
1
|
||
|
59 / 58 / 16
Регистрация: 09.12.2013
Сообщений: 208
|
||
| 02.01.2014, 20:52 | ||
|
0
|
||
|
Музыка нас Связала
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
|
|
| 03.01.2014, 17:16 [ТС] | |
|
IP приходит и без моего участия через struct sockaddr_in, а здесь проблема была другого плана. Так как использовался UDP протокол, использование select() было не возможным, т.к. UDP соединения по типу "handshake" не устанавливает.
Сделал, как и посоветовали выше, сохранял sockaddr_in каждого клиента в хэш-таблицу и всё.
0
|
|
|
0 / 0 / 0
Регистрация: 04.01.2014
Сообщений: 2
|
|
| 05.01.2014, 00:05 | |
|
0
|
|
|
Музыка нас Связала
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
|
|||||||||||
| 05.01.2014, 00:15 [ТС] | |||||||||||
|
Могу и выложить
Клиент (Чат)
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 04.01.2014
Сообщений: 2
|
|
| 05.01.2014, 13:32 | |
|
0
|
|
| 05.01.2014, 13:32 | |
|
Помогаю со студенческими работами здесь
9
Клиент-сервер со своим протоколом передачи данных UDP клиент сервер
UDP Клиент-Сервер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита табличной части. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|