ограничение размера пакета для игр для iPhone?


person godzilla    schedule 03.05.2012    source источник
comment
Вы можете отправлять довольно большие пакеты, но тогда вам следует беспокоиться о скорости. Отправка большого пакета займет больше времени, когда в игре важна быстрая связь. Как правило, если ваши пакеты в игре становятся слишком большими, вы, вероятно, можете разбить их на более мелкие пакеты, каждый из которых содержит свою важную часть данных.   -  person wquist    schedule 04.05.2012
comment
привет, спасибо за ответ, так что по определению большого пакета пакет 1k считается довольно большим?   -  person godzilla    schedule 04.05.2012
comment
1к байт? Так вроде 1 кБ? Если вы отправляете 30 пакетов в секунду, то это ~ 240 КБ в обе стороны с точки зрения скорости соединения, так что это действительно зависит от целевой аудитории. Это будет сильно различаться по локальной сети, WAN, 3G и т. д. Однако для меня это довольно много. Это эквивалентно примерно 250 значениям с плавающей запятой или более 100 координатам XY в каждом кадре. Убедитесь, что все, что вы отправляете, является важным. Если у вас есть вычисления или какая-то логическая вещь, попробуйте стандартизировать ее поведение и отправить однобайтовый флаг, сообщающий, что это произошло, и выполнить любые вычисления на стороне клиента.   -  person wquist    schedule 05.05.2012
comment
ну, я урезал его, чтобы пакеты отправлялись только при вызове touchEnd, но я понимаю вашу точку зрения, будет лучше, если я постараюсь отправлять как можно меньше - спасибо, чувак!   -  person godzilla    schedule 05.05.2012


Ответы (2)


Как правило, вы не должны полагаться на размер сетевого пакета. Пакеты могут фрагментироваться (через TCP/IP и повторно собираться стеком) или данные могут пакетироваться на основе MTU параметров отправки/получения.

person Zepplock    schedule 03.05.2012
comment
спасибо за ответ, меня беспокоит, существует ли пороговое значение размера, при превышении которого данные не будут получены на другом конце? - person godzilla; 04.05.2012
comment
Не совсем. Ваши данные будут пакетированы сетевым стеком и реконструированы на другой стороне. Вам не нужно ничего делать. Единственным ограничением является пропускная способность, так как мобильные телефоны могут находиться в местах с плохим приемом. Просто убедитесь, что вы правильно обрабатываете ошибки. - person Zepplock; 04.05.2012

Согласно Руководство по программированию Game Kit:

  • Ограничьте размер ненадежных сообщений до 1000 байт или меньше.
  • Ограничьте размер надежных сообщений до 87 килобайт или меньше.
person nrp    schedule 07.05.2012