Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 156
1

Чат на сокетах C++

01.06.2020, 23:41. Показов 448. Ответов 9
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, необходимо реализовать чат (клиент и сервер) на сокетах. Имеется вопрос , каким образом можно реализовать передачу сообщения конкретному человеку по нику, тоесть если он в "сети", то пишет его ник и только ему приходит сообщение , если же написал ник человека, а его нет в сети, то ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2020, 23:41
Ответы с готовыми решениями:

Чат на сокетах
Есть сервер и клиент когда отправляешь сообщение с первого клиента втором то сообщения не...

Чат на сокетах
Я создаю чат на С ++, только такой в котором 1 сервер который как и клиент также может отправлять и...

Простой чат на сокетах
Доброго времени суток. Имеется VDS сервер с установленной на нём ОС Linux, на моём пк установлен...

Сделать чат на сокетах
Как сдeлать чат на winapi клиeнт-сepвep на сoкeтах (фopма)? дайте пример пожалуйста!

9
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
01.06.2020, 23:59 2
Ну, сервер знает же список всех, кто к нему подключился. придумай уж там какой-нибудь формат сообщения от клиента серверу, чтоб с одним айдишником скажем логинил клиента и принимал от него никнейм. С другим принимал бы текстовое сообщение для адресата итд
Никнеймы бы сохранялись на сервере в каком нибудь списке вместе с сокетом соединения с каждым клиентом и другой инфой о них.
сервер бы по очереди обрабатывал бы сообщения, прочитанные из каждого сокета и по никнейму в списке определял бы, в какой сокет переслать текст.
1
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 156
02.06.2020, 00:01  [ТС] 3
Kuzia domovenok, а каким образом можно получить список подключившихся к серверу?
0
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,358
02.06.2020, 00:04 4
Houz, введи понятие сессии. ID сессии - уникальное (на время работы приложения-сервера) значение . Во время каждого accept счётчик ID увеличивается на 1 и новое значение ассоциируется с новым принятым сокетом. Удалённая сторона присылает авторизацию (логин), таким образом к ID можно привязать логин
1
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 156
02.06.2020, 00:06  [ТС] 5
Алексей1153, а у вас не будет примера ?
0
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,358
02.06.2020, 00:11 6
Houz, а какой тут пример требуется ? Accept где вызывать ? Или как std::map пользоваться ? Или как инкремент делать ?
0
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 156
02.06.2020, 00:15  [ТС] 7
Алексей1153, вот если я сделаю сессия, то как определенному человеку отправить смс?
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
02.06.2020, 00:18 8
О, я смотрю вы шарите в смс-сессиях. Хакер?
0
фрилансер
5503 / 5098 / 1048
Регистрация: 11.10.2019
Сообщений: 13,358
02.06.2020, 00:29 9
Цитата Сообщение от Houz Посмотреть сообщение
то как определенному человеку отправить смс
упрощённо, у тебя имеется переменная такого типа
C++
1
std::map<ID_CLASS,SESSION_INFO_CLASS> MySessions;
SESSION_INFO_CLASS содержит хендл сокета, логин и прочую инфу о сессии

в этой мапе делаешь ищешь логин, там же будет и сокет

если делать всё упрощённо, то достаточно будет и так
C++
1
std::map<SOCKET,SESSION_INFO_CLASS>
1
0 / 0 / 0
Регистрация: 11.10.2017
Сообщений: 156
02.06.2020, 00:31  [ТС] 10
Алексей1153, спасибо
0
02.06.2020, 00:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2020, 00:31
Помогаю со студенческими работами здесь

Чат клиент-сервер на сокетах
и все таки появилась еще одна проблема раньше все сообщения от клиентов просто оставались на...

Чат на сокетах
Здравствуйте, форумчане. Сейчас занялся написанием чата на сокетах. Всё вроде бы хорошо, но уперся...

Чат на сокетах
Здравствуйте, хочу сделать чат на PHP с использованием сокетов. С самими сокетами я познакомился,...

Чат на сокетах
Проблема в работе чата: отправляется только первое сообщение, а дальше всё зависает....

Чат на сокетах
Начал работу с сетью, пробую написать небольшой чат на tcp сокетах, на стороне сервера всё...

Чат на сокетах
Здрасьте. Знаю, что тема до невозможности бородатая, но возникла необходимость создания программы...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru