verificacion ver toca tarjeta sido sesion requiere rechazado rechazada quitar puede procesar para pago momento metodo invalido inicia informacion facturacion este desde debito credito continuar compras como app acepta iphone objective-c ios5 cocoaasyncsocket gcdasyncsocket

iphone - ver - tu metodo de pago ha sido rechazado itunes



No se llama al método didReadData GCDAsynSocketDelegate. Usando GCDAsynSocket (1)

Ok, encontré la respuesta.

El problema era que estaba escribiendo y leyendo en mi propio extremo de socket en lugar del socket conectado.

Arreglo: (cambiado asyncSocket a newSocket )

- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket { NSLog(@"Accepted new socket from %@:%hu", [newSocket connectedHost], [newSocket connectedPort]); // The newSocket automatically inherits its delegate & delegateQueue from its parent. [connectedSockets addObject:newSocket]; NSString *welcomMessage = @"Hello from the server/r/n"; [newSocket writeData:[welcomMessage dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:1]; [newSocket readDataWithTimeout:-1 tag:0]; }

Estoy intentando simplemente enviar y recibir un mensaje usando GCDAsyncSocket y no puedo hacer que funcione.

Estoy estableciendo con éxito la conexión y escribiendo mensajes, pero cuando se trata de leer, nunca se llama a mi delegado.

Estoy usando ios5 y esta configuración:

Cliente:

-(void) connectToHost:(HostAddress*)host{ NSLog(@"Trying to connect to host %@", host.hostname); if (asyncSocket == nil) { asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; NSError *err = nil; if ([asyncSocket connectToHost:host.hostname onPort:host.port error:&err]) { NSLog(@"Connected to %@", host.hostname); NSString *welcomMessage = @"Hello from the client/r/n"; [asyncSocket writeData:[welcomMessage dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:1]; [asyncSocket readDataWithTimeout:-1 tag:0]; }else NSLog(@"%@", err); } }

No se llama al método delegar didReadData

-(void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{ NSLog(@"MESSAGE: %@", [NSString stringWithUTF8String:[data bytes]]); }

Servidor

-(void)viewDidLoad{ asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; connectedSockets = [[NSMutableArray alloc] init]; NSError *err = nil; if ([asyncSocket acceptOnPort:0 error:&err]){ UInt16 port = [asyncSocket localPort]; //...bojour stuff } else{ NSLog(@"Error in acceptOnPort:error: -> %@", err); } }

Escribir un mensaje al cliente y esperar respuesta en una conexión de socket exitosa

- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket { NSLog(@"Accepted new socket from %@:%hu", [newSocket connectedHost], [newSocket connectedPort]); // The newSocket automatically inherits its delegate & delegateQueue from its parent. [connectedSockets addObject:newSocket]; NSString *welcomMessage = @"Hello from the server/r/n"; [asyncSocket writeData:[welcomMessage dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:1]; [asyncSocket readDataWithTimeout:-1 tag:0]; }

Y esto no se llama siempre ...

-(void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{ NSLog(@"New message from client... "); }