Как правильно проверить наличие сообщений с сервера telnet? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь создать клиент telnet, используя библиотеку go-telnet . Я могу подключиться к серверу, но я ожидал получить некоторые данные для входа в систему с помощью имени пользователя и пароля.

Но я не получаю никаких сообщений. Что я мог сделать до сих пор, так это просто отправить сообщение на сервер, и сервер распечатал его.

Если я подключаюсь с помощью обычного клиента telnet, первое, что мне нужно сделать, - это войти в систему с помощью имени пользователя и пароля. Я хочу повторить это, используя мой собственный клиент.

Я не вижу примеров на GitHub о том, как отправлять или получать сообщения, поэтому я немного запутался.

Вот мой текущий код:

func main() {

    err = telnet.DialToAndCall("192.168.206.226:23", caller{})
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
}

type caller struct {}

func (c caller) CallTELNET(ctx telnet.Context, w telnet.Writer, r telnet.Reader) {
    scanner := bufio.NewScanner(os.Stdin)
    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }
}

Есть ли какие-либо другие шаги, которые мне нужно сделать при подключении? Или я что-то не так делаю?

изменить (часть для чтения):

//var data []byte
for {
    //numBytes, err := conn.Read(data)
    reader := bufio.NewReader(os.Stdin)
    fmt.Println(reader.ReadString('\n'))
}
...