|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
|
||||||
Потеря пакетов с селектор сервером23.03.2013, 22:43. Показов 2071. Ответов 13
Метки нет (Все метки)
здравствуйте... делаю сервер на одну мморпг игру... сервер реализован по средствам селектора... получает пакеты гладко и считывает с них информацию но когда он должен получить три пакета подряд он получает толко один..ну очень редко и второй помогите пожалуйста... вот код
Добавлено через 2 часа 7 минут помогите кто нибудь!!... сервер получает только один пакет если к нему идут 3 одновременно
0
|
||||||
| 23.03.2013, 22:43 | |
|
Ответы с готовыми решениями:
13
Потеря 50% пакетов через роутер и отброс пакетов Потеря пакетов Wi-fi Потеря пакетов |
|
|
||||||
| 23.03.2013, 23:44 | ||||||
|
он у вас однопоточный просто, хапанул один пакет и пока не переварит других даже не слушает
надо сделать несколько потков или динамически подымать потоки примерно так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
|
|
| 23.03.2013, 23:55 [ТС] | |
|
можно более подробно?
а без threadов нельзя обойтись?
0
|
|
|
|
|
| 24.03.2013, 00:06 | |
|
без потоков никак, пока один сокет занят, он не может слушать других клиентов
что вам нужно подробнее, как стартануть новый сервер поток я уже показал, реализация его примерно такая же как и у однопоточного, только акцептнутый сокет вы туда передаёте в конструкторе, пока не случится акцепт цикл зависает на этом методе. в серверных потоках возможно понадобится синхронизация или локи если все они пользуются какой нибудь совместной переменной вот вам пример от оракла http://docs.oracle.com/javase/... erver.html
0
|
|
|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
|
|||||||
| 24.03.2013, 01:03 [ТС] | |||||||
|
вот так: Client->Server-получил Server->Client Client-->server-получил Client-->Server- не получил 90% Client-->Server- не получил вообше ....problema tut Server->Client ответ на первый Добавлено через 1 минуту вот еще кода обработки:
0
|
|||||||
|
|
||||||||||||
| 24.03.2013, 03:46 | ||||||||||||
1 сокет не может слушать 3 клиента одновременноДобавлено через 39 минут сервер Кликните здесь для просмотра всего текста
и клиент Кликните здесь для просмотра всего текста
ничего не теряется
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
|
|
| 24.03.2013, 19:43 [ТС] | |
|
понял в чем проблема...я задал моему байт буфферу слишком большой размер 2048 бай...когда одно временно три пакета все три записываются в буффер...как мне зделать один буфф на пакет или буфф с динамичным размером? в заголовке пакета имеется его длина...подскажите плз
0
|
|
|
|
|||||||
| 24.03.2013, 22:29 | |||||||
|
для проверки сделайте в коде сервера что я дал вот такую замену (превратив его в однопоточный таким образом)
а вот остальные вылетят с эксепшенами Вот когда вы мне сможете сказать почему они вылетели, тогда и поговорим про динамический буфер
0
|
|||||||
|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 6
|
|
| 25.03.2013, 02:48 [ТС] | |
|
я уверен что все три пакета в буферре поскольку написал маленькую функц которая показывает содержымое буффера в консоли...и действительно они были тесно пределаны друг к другу
0
|
|
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
||
| 25.03.2013, 17:10 | ||
|
Автор, Вам придется эмулировать свой протокол, если хотите сообщения различать. Либо маркеры начала и конца, либо тривиально - размер (4 байта)+сообщение+размер второго сообщения (4 байта)+сообщение+... считываете 4 байта, делаете из них int, считываете полученное количество байтов, повторяете по мере необходимости.
0
|
||
|
|
||
| 26.03.2013, 02:19 | ||
|
(это к тому что на одной jvm с клиентских мультипотоков один порт не биндится, или биндится? Скипи как думаешь?)
0
|
||
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|||||||||
| 26.03.2013, 12:01 | |||||||||
0
|
|||||||||
|
|
||
| 26.03.2013, 14:16 | ||
|
то что он не может разделиться на сегменты данных это уже понятно было ещё в первом посте. меня интересует как он разделять собирается микс из допустим 3 клиентов и 3 пакетов от каждого. По твоим словам ему на 1 поточный сервер успешно могут прийти в миксе 9 пакетов и он их успешно скушает. Тогда я начинаю переставать понимать архитектуру при таком сраче с пакетами
0
|
||
| 26.03.2013, 14:16 | |
|
Помогаю со студенческими работами здесь
14
Потеря пакетов Потеря пакетов Потеря пакетов Потеря CAN пакетов Потеря пакетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|