在下面的代码中,我从服务器接收数据,但没有完全收到字符串“我应该收到一个句子,但每次我收到一段不同长度的句子”未在客户端完全收到字符串
uint8_t buf[1024];
unsigned int len = 0;
len = [inputStream read:buf maxLength:1024];
NSString *s;
if(len > 0) {
NSMutableData* data=[[NSMutableData alloc] initWithLength:0];
[data appendBytes: (const void *)buf length:len];
s = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",s);
}
服务器端: 我使用DataOutputStream类
ServerSocket welcomeSocket=new ServerSocket(6789);
while(true){
Socket connectionSocket=welcomeSocket.accept();
DataOutputStream outToClient=new DataOutputStream(connectionSocket.getOutputStream());
outToClient.writeBytes("sign up accepted you can now sign in"+'\n');
而且如果我需要发送一个长文本发送到服务器。
[字符编码](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#getBytes%28java.lang.String%29)! 'outToClient.writeBytes(“注册已接受,您现在可以登录\ n”.getBytes(“US-ASCII”))'另外,首先发送字符串长度是个好主意。 –
还是没有发送整个句子..是生病尝试发送长度第一 – user3188822
有人可以请指导我。 – user3188822