ficho
7549
Luka
6831
Darko Kontin
4265 Ljudi pliiiz malo pomoći :-D
Trebam komunicirati iz iPad aplikacije s poslužiteljem napisanom u Javi tako da preko socketa izmjenjuju poruke. Koristeći GCDAsyncSocket uspijem se spojiti, poslati poruku na poslužitelj, pročitati ju na poslužitelju, i tada se s poslužitelja šalje odgovor, a ja ne mogu taj odgovor primiti. Evo dio koda:
- (void) someMethod{
NSError *err = nil;
asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
if(![asyncSocket connectToHost:@"localhost" onPort:7777 error:&err]){
// If there was an error, it's likely something like "already connected" or "no delegate set"
NSLog(@"I goofed: %@", err);
}
NSString *requestStr = @"<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><root><service>1</service><type>1</type><userProperties><username>ivo</username></userProperties></root>";
NSData *requestData = [requestStr dataUsingEncoding:NSUTF8StringEncoding];
[asyncSocket writeData:requestData withTimeout:-1.0 tag:0];
[asyncSocket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:1.0 tag:0];
[asyncSocket disconnectAfterWriting];
}
- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag
{
if (tag == 0)
NSLog(@"First request sent");
else if (tag == 2)
NSLog(@"Second request sent");
}
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",str);
}