1426 очень похоже на MTU (Maximum Transmit Unit), который является максимальным размером данных TCP, которые вы можете отправить. Это разные размеры на разных сетевых носителях и разные конфигурации, но 1426 довольно распространено.
Это говорит о том, что вы путаете прием TCP-пакета с завершением XML-сообщения. Нет гарантии, что TCP-пакеты будут заканчиваться на границе сообщения XML. GCDAsyncSocket - это низкоуровневая библиотека, поддерживающая протокол TCP, а не XML.
Когда вы получаете каждый пакет, вы обязаны объединить его в NSMutableData
, а затем решить, когда у вас будет достаточно для его обработки. Если ваш протокол закрывает соединение после каждого сообщения, вы можете читать, пока соединение не будет закрыто. Если нет, то вам придется иметь дело с тем фактом, что данный пакет может даже включать часть следующего сообщения. Вам нужно будет проанализировать данные в достаточной степени, чтобы решить, где находятся границы.
Кстати, вполне возможно, что ваш Mac имеет другой MTU, чем ваш iPad, поэтому вы можете наблюдать различное поведение на разных платформах.