|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
||||||||||||||||
Проблема с TCP15.12.2022, 16:52. Показов 2606. Ответов 34
Всех приветствую, пишу онлайн игру с сервером на c#. Два клиента подключаются к серверу, движение первого, кто подключился идеально синхронизируются у второго, а вот со вторым проблема - либо задержка примерно секунд 10, либо вообще ничего. Сделал небольшую откладку, первый клиент не получает данные, но отправляет, со вторым наоборот, а сервер получает и отправляет от обоих. Ссылка на видео: https://youtu.be/5nRDaFwVCww
Сервер
0
|
||||||||||||||||
| 15.12.2022, 16:52 | |
|
Ответы с готовыми решениями:
34
таймер и таймаут tcp проблема Сцена зависает при запуске TCP-клиента, когда он подключен к TCP - серверу, при этом TCP-клиент полностью функционирует Проблема с TCP |
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 16.12.2022, 18:30 | |
|
Unity123, minimal reproducible example, это минимальный пример с кодом для повторения вашей проблемы. т.е вам нужно предоставить либо консольный проект клиента и консольный проект сервера, либо сделать консольный проект сервера+ проект с юнити. Я же вам написал что сделайте проект консольный, сначала без передачи координат, а допустим проект чата консольного. и вы сразу наглядно отловите все свои ошибки.
1
|
|
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 17.12.2022, 07:06 [ТС] | |
|
Спасибо, думаю, стоит и в правду на чужих и рабочих примерах чатов попробовать, а после уже и на юнити переписать
Добавлено через 2 минуты Я пострел только что пример чата, и там действительно чтение и запись разделены на две асинхронных задачи
0
|
|
|
767 / 495 / 216
Регистрация: 05.04.2015
Сообщений: 2,079
|
|
| 17.12.2022, 09:25 | |
|
Unity123, По идее в сервер-клиент системе надо все пакеты отправлЯть в баитах, а у вас все в разных структурах в массиве. Может из за этого?? Сервер не находит каких то маленьких значений тиипа Idв структурах и поэтому разсинхрон.
0
|
|
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 17.12.2022, 11:35 [ТС] | |
|
Нет, нет, не в этом дело, конец сообщение определяется байтом '\n', а структуры сериализуются. Один клиент идеально виден у второго, а у второго первый с задержкой в секунд 5
0
|
|
|
767 / 495 / 216
Регистрация: 05.04.2015
Сообщений: 2,079
|
|
| 17.12.2022, 13:39 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 17.12.2022, 13:43 [ТС] | |
|
По разному, там от типа данных зависит, первым байтом передаю название структуры, остальными уже саму структуру
0
|
|
|
767 / 495 / 216
Регистрация: 05.04.2015
Сообщений: 2,079
|
|
| 17.12.2022, 14:17 | |
|
просто все в кучу поворот позиция - позиция поворот
Добавлено через 30 минут В минимуме должен быть такой пакет Вложение 1389617а потом распечатывать по байтам к каждой величине
0
|
|
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 17.12.2022, 15:58 [ТС] | |
|
не открывается вложение
0
|
|
|
767 / 495 / 216
Регистрация: 05.04.2015
Сообщений: 2,079
|
||||||||||||
| 18.12.2022, 13:19 | ||||||||||||
хотя не
0
|
||||||||||||
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 19.12.2022, 16:07 [ТС] | |
|
Не работает, тут суть в том, что объекты синхронизируются, но один идеально синхронизирован, практически без задержки, а второй тоже синхронизирован, но с задержкой 5-10 секунд, я оставлял ссылку на ютуб, там продемонстрированно, и архив с сервером и клиентом, чтобы увидеть проблему. Всё-равно спасибо за помощь, я очень благодарен
0
|
|
|
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
|
||
| 19.12.2022, 16:11 | ||
|
Если не можете целиком весь репозиторий предоставить, чтобы запустить и посмотреть, то почему мы тут гадать должны?
0
|
||
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 19.12.2022, 17:03 [ТС] | |
|
Просто оба проекта кинуть?
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 22.12.2022, 07:36 | |
|
Unity123, Я тут глянул еще ваш код, у вас будет память утекать. Потому как вы выделяете память в куче, копируете туда данные, дальше или упаковываете или распаковываете объект но при этом эту память вы не очищаете. надо вызывать обязательно Marshal.FreeHGlobal(ptr);
1
|
|
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 23.12.2022, 16:11 [ТС] | |
|
Это после каждой десериализации делать?
0
|
|
|
1 / 1 / 0
Регистрация: 19.10.2021
Сообщений: 51
|
|
| 27.12.2022, 19:17 [ТС] | |
|
Проблема была решена многопоточностью, чтение в отдельном потоке, обработка в основном, использовал UnityMainThreadDispatcher для вызова методов из неосновного потока
1
|
|
| 27.12.2022, 19:17 | |
|
проблема с tcp ip в VS2008 need help! Проблема с подвержением в TCP Проблема с реализицией Tcp клиента Проблема с объединением сообщений при передаче по TCP Heroes 3: проблема с сетевой игрой по протоколу TCP/IP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|