Telnet через сокет с GCDAsyncSocket
я пытаюсь подключиться к кодеку Cisco C40 через telnet с цели c. При использовании терминала на моем компьютере я получаю:
Пароль:
Однако при выполнении соединения через сокет существуют переговоры telnet, которые необходимо выполнить. Что я, но по какой-то причине я не могу добраться до "Пароль:" подскажите выше.
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
NSLog(@"RECEIVE BUFFER %@",data);
//store read bytes to rawData
self.rawData = [[NSMutableData alloc] initWithData:data];
//cast bytes
const uint8_t *bytes = [self.rawData bytes];
//go through rawdata format and save it to networkbuffer
for (int i =0; i < [self.rawData length]; i++)
{
if (![[NSString stringWithFormat:@"%02X", bytes[i]]isEqual:@"0D"])
{
[self.networkBuffer addObject:[NSString stringWithFormat:@"%02X", bytes[i]]];
}
}
//negotiate any telnet protocal stuff (just accept options )
//example:
//FF:FD:18 returns FF:FB:18
while([[self.networkBuffer objectAtIndex:0]isEqualToString:@"FF"] && [[self.networkBuffer objectAtIndex:1]isEqualToString:@"FD"] ) {
// NSLog(@"HERE");
NSData * tempData =[data subdataWithRange:NSMakeRange(0, 3)];
NSMutableData * tempMutData = [NSMutableData dataWithData:tempData];
const unsigned char replacement[] = {
0xFC
};
[tempMutData replaceBytesInRange:NSMakeRange(1, 1) withBytes:replacement];
[self sendCommand:tempMutData];
data = [data subdataWithRange:NSMakeRange(3, [data length]-3)];
self.networkBuffer = [NSMutableArray arrayWithArray:[self.networkBuffer subarrayWithRange:NSMakeRange(3, [self.networkBuffer count]-3)]];
// NSLog(@"network buffer after removal: %@", data);
if ([self.networkBuffer count]