2012-01-19 46 views
0

我試圖發送ascii編碼的消息到服務器。我的問題是,當我嘗試添加回車字符串回車編碼

-(void)button2Pressed 
{ 
    NSMutableString *mutableString = [NSMutableString stringWithString:@"h323name get"]; 

    [self sendStringCommand:mutableString]; 
} 

-(void)sendStringCommand:(NSMutableString*)string 
{  
    [string appendString:@"\\r"]; 

    NSLog(@"string %@ wtf",[string dataUsingEncoding:NSASCIIStringEncoding]); 
    NSData * testData = [[NSData alloc]initWithBytes:[string dataUsingEncoding:NSASCIIStringEncoding] length:sizeof([string dataUsingEncoding:NSASCIIStringEncoding])]; 


    [socket writeData:testData withTimeout:20 tag:1]; 

} 

目前該電源輸出即將來臨:

串< 68333233 6e616d65 20676574 5c72>跆拳道

即應be

string < 68333233 6e616d 65 20676574 0D>跆拳道

只是普通/ R做了一個新的生產線中的NSLog

回答

1

你有太多的反斜槓數據後,因此跆拳道字符。試試這個:

[string appendString:@"\r"]; 

此外,您創建的testData是完全錯誤的。您創建testData的方式是將指向NSData對象的指針作爲「字節」參數,並將指針的大小作爲「長度」參數傳遞給NSData。你應該這樣做:

NSData *testData = [string dataUsingEncoding:NSASCIIStringEncoding]; 
NSData *testData = [string dataUsingEncoding:NSASCIIStringEncoding]; 
+0

謝謝你做了工作,idk我在想什麼,當我第一次嘗試,它沒有工作???! o再次感謝,當它讓我感到不適時接受 –