如何在objective c客户机中从java服务器接收字符串?

如何在objective c客户机中从java服务器接收字符串?,java,objective-c,sockets,Java,Objective C,Sockets,我想在objective c客户机中读取java服务器的输出。 在下面的代码中,我可以阅读,但它只打印从服务器发送的字符串的第一个字符 - (void)reading { [inputStream setDelegate:self]; [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [inputStream open]; uint8_t buf[1024];

我想在objective c客户机中读取java服务器的输出。 在下面的代码中,我可以阅读,但它只打印从服务器发送的字符串的第一个字符

 - (void)reading {
[inputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];

   uint8_t buf[1024];
unsigned int len = 0;

len = [inputStream read:buf maxLength:1024];

if(len > 0) {
    NSMutableData* data=[[NSMutableData alloc] initWithLength:0];

    [data appendBytes: (const void *)buf length:len];

    NSString *s = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

    NSLog(@"hola %@",s);


    }
}
在服务器端

DataOutputStream outToClient=new DataOutputStream(connectionSocket.getOutputStream());
outToClient.writeBytes("mike"+'\n');

在编码中,您是否尝试在NSASCIIStringEncoding的情况下通过NSUTF8StringEncoding?即使使用NSUTF8StringEncoding,我也没有收到完整的句子“每次我执行时,收到的句子都会有所不同,例如,如果我想收到接受的注册,您可以登录,有时它会收到作为注册,有时作为签名,等等”。很抱歉,我的回复太晚了