|
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
|
|
Как различать клиентов на сервере?02.09.2022, 14:31. Показов 1668. Ответов 4
Метки нет (Все метки)
Я использую следующую связку - клиент (Unity C#) отправляет запрос на сервер (PHP Retchet), на данный момент на сервере работает уже прослушивание, то есть всё что отправляется с клиента я вижу там в консоли, клиент отправляет данные типа id сессии, id пользователя, данные о передвижении (координаты), эти данные высвечиваются на сервере в консоли.
И вот вопрос - а как теперь мне на сервере различать кому передавать эти данные? То есть я как бы при оправке могу указать чтобы эти данные получили пользователи с id 1,2,3, но как это организовать на сервере, как это должно выглядеть в коде? Если кто знает то хорошо бы увидеть пример или ссылки на нужный материал...
0
|
|
| 02.09.2022, 14:31 | |
|
Ответы с готовыми решениями:
4
Как различать клиентов на сервере с UDP протоколом? Как на сервере получить количество подключившихся клиентов? Обработка клиентов на сервере |
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||||||||||||||||||||||||
| 02.09.2022, 19:49 | ||||||||||||||||||||||||||
Сообщение было отмечено Nebiros как решение
Решение
Так... Ну есть такие способы:
Получать от клиента его ID:
Получить строку запроса можно в методе onOpen:
GuzzleHttp\Psr7\Uri сам этого не делает.Когда по той уникальной строке получили числовой ID, сохраняем соединение в массив (не в SplObjectStorage):
onMessage получаем соединения и рассылаем им сообщение:
$this->clients, действия будут те же самые, что и с прошлым вариантом.
1
|
||||||||||||||||||||||||||
|
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
|
||||||||||||||||
| 03.09.2022, 12:07 [ТС] | ||||||||||||||||
|
немного в одном месте я сейчас застрял, что я делаю сразу - отправляю от клиента такой запрос
Вот тут я не понял как это указать...
0
|
||||||||||||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||||||||
| 03.09.2022, 14:36 | |||||||||||
Сообщение было отмечено Nebiros как решение
Решение
Вот так неправильно делать:
$this->RoomSession сменится.Смотрите, как это работает. Вы один раз запускаете скрипт с Websocket-сервером через консоль, PHP создаёт сокет и ожидает подключения к нему кого-либо. Поток (скрипт) находится в вечно запущенном состоянии. Если кто-то подключился, вызывается onOpen.Поэтому нужно делать как-то так:
Кстати, разбирать URI в данном классе не следует. Лучше было бы создать дополнительный декоратор, который преобразовывал бы Request от Guzzle в Request от Symfony (всё равно он загружается Composer'ом вместе с другими зависимостями). Но это в идеале, а работать будет и в текущем виде.
1
|
|||||||||||
|
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
|
|
| 03.09.2022, 15:31 [ТС] | |
|
Para bellum спасибо, теперь всё работает как нужно.
0
|
|
| 03.09.2022, 15:31 | |
|
Помогаю со студенческими работами здесь
5
Связка двух клиентов на сервере
Авторизация клиентов с проверкой пароля на сервере Взаимодействие клиентов между собой на Tcp сервере Добавление нескольких клиентов в TCP сервере winsock Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение
Это мой обзор планшета X220 с точки зрения школьника.
Недавно я решила попытаться уменьшить свой. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|