Resultado diferente para [Fecha de fecha de vencimiento] en varios dispositivos

Para comenzar, debo decir que configuré la configuración automática en los ajustes de fecha y hora y que la zona horaria es la misma para cada dispositivo. Entonces yo uso[NSDate date] para obtener la marca de tiempo en milisegundos, luego codifique paraNSData y enviar a otro dispositivo. En el receptor los datos se están decodificando y restando con nuevos[NSDate date]. Para que obtenga el tiempo total necesario para enviar y recibir mensajes. Se me ocurrió porque cuando el remitente es el iPhone 4 iOS6 y el receptor es el iPhone 5 iOS7, entonces el receptor tiene una marca de tiempo anterior al remitente. No se por que Tal vez[NSData date] ¿No es la clase más confiable para ese tipo de operaciones? yo sueloGCDAsyncUdpSocket para enviar / recibir UDP.

Código remitente

NSData *data2 = [self createRandomNSData:8192];
NSMutableData *dataToSend =[NSMutableData data];
[dataToSend appendBytes:&tag length:sizeof(int)];
long long currentTimeStamp = (long long)([[NSDate date] timeIntervalSince1970]*1000.0);
[dataToSend appendBytes:&currentTimeStamp length:sizeof(long long)];
[dataToSend appendData:data2];
NSLog(@"%i || %lld || %lu",tag, currentTimeStamp,(unsigned long)[dataToSend length]);
[_udpSocket sendData:dataToSend toHost:@"230.0.0.1" port:_port withTimeout:-1 tag:tag];
tag++;

Codificador receptor

char* dataBytes = [data bytes];
int inTag;
long long inCurrentTimeStamp;
[data getBytes:&inTag length:sizeof(int)];
[data getBytes:&inCurrentTimeStamp range:NSMakeRange(sizeof(int), sizeof(long long))];
long long currentTimeStamp = (long long)([[NSDate date] timeIntervalSince1970]*1000.0);
long long timeStampDiff = currentTimeStamp - inCurrentTimeStamp;
self.delay = timeStampDiff;
NSLog(@"%i || %lld || %lu",inTag, timeStampDiff,(unsigned long)[data length]);

Respuestas a la pregunta(4)

Su respuesta a la pregunta