Суть проблемы в следующем, сервер отправляет на клиент данные такого вида:
{«action»: «update», «mana»: [[13, 2, 2, 2, 2, 4], [4, 4, 4, 3, 8, 2]], «deck_cards»: [{«life_cards»: [«Apostate», «Paladin», «Unicorn», «Rejuvenation»], «death_cards»: [«Lich», «StealLife», «GrimReaper», «ChaosVortex»], «earth_cards»: [«Golem», «Revival», «Echidna», «Satyr»], «water_cards»: [«Poseidon», «IceWizard», «AcidStorm», «Nixie»], «air_cards»: [«Gargoyle», «Plague», «BlackWind», «Manticore»], «fire_cards»: [«FlamingArrow», «Armageddon», «Devil», «Salamander»]}, {«life_cards»: [«LifeSacrifice», «Bless», «MagicHealer», «Purify»], «death_cards»: [«Vampire», «Curse», «Darklord», «Zombie»], «earth_cards»: [«Restructure», «Quicksands», «Earthquake», «Centaur»], «water_cards»: [«Leviathan», «Waterfall», «Poison», «IceGuard»], «air_cards»: [«Zeus», «Titan», «Phoenix», «ChainLightning»], «fire_cards»: [«Efreet», «RedDrake», «Demon», «Firelord»]}], «answ»: 200}
А клиент принимает данные такие:
{«action»: «update», «mana»: [[13, 2, 2, 2, 2, 4], [4, 4, 4, 3, 8, 2]], «deck_cards»: [{«life_cards»: [«Apostate», «Paladin», «Unicorn», «Rejuvenation»], «death_cards»: [«Lich», «StealLife», «GrimReaper», «ChaosVortex»], «earth_cards»: [«Golem», «Revival», «Echidna», «Satyr»], «water_cards»: [«Poseidon», «IceWizard», «AcidStorm», «Nixie»], «air_cards»: [«Gargoyle», «Plague», «BlackWind», «Manticore»], «fire_cards»: [«FlamingArrow», «Armageddon», «Devil», «Salamander»]}, {«life_cards»: [«LifeSacrifice», «Bless», «MagicH
Отпраляет сервер данные через socket.send
Клиент принимает данные через socket.recv. И вот что меня тут смущает, без разницы что указано в recv хоть 1024, хоть 4096. Обрезается в одном и том же месте.
С сервера данные точно уходят корректными. Разбивать на пакеты не хочется.
http://pastebin.com/cWFQaiRG
Тут не весь код, а только то, что отвечает за прием/отправку ( 2 строки )