1

NSStreamtelnet サーバーに接続するためのソケットを作成しました。実際には、サーバーに正常に接続できます。サーバーの「最初の言葉」でを取得しましたinputStreamが、理解できません。telnet IAC コマンドに関する説明を探しています。

サーバーから受信するコードは次のとおりです。

 case NSStreamEventHasBytesAvailable:

            if (theStream == inputStream) {

                uint8_t buffer[1024];
                int len;

                while ([inputStream hasBytesAvailable]) {
                    len = [inputStream read:buffer maxLength:sizeof(buffer)];
                    if (len > 0) {

                        NSString * serverSaid = [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding];

                        if (nil != serverSaid) {
                            NSLog(@"The server said: %@", serverSaid);
                            [connectLog insertText:serverSaid];
                            [connectLog insertText:@"\r"];
                        }
                    }
                }
            }

            break;

EventHasBytesAvailable に基づいています。正常に動作しています(ログインプロンプトでサーバーからこんにちはを取得しました)。

サーバーに送信するには、次のようにします。

NSString * theMsg  = [NSString stringWithFormat:@"root"];
NSData * msgToSend = [[NSData alloc] initWithData:[theMsg dataUsingEncoding:NSUTF8StringEncoding]];
[outputStream write:[msgToSend bytes] maxLength:[msgToSend length]];

出力ストリームを使用するとどうなるかを確認するために、ボタンの出力をスクリプト化しました。

誰か IAC コマンドや、サーバーにログインしてコマンドを送信する方法を説明してもらえますか?

4

0 に答える 0