go中的Telnet客户端
我正在尝试从go客户端向telnet服务器发送“hello world”。在我找到的示例中:go中的Telnet客户端,go,telnet,Go,Telnet,我正在尝试从go客户端向telnet服务器发送“hello world”。在我找到的示例中: var caller telnet.Caller = telnet.StandardCaller telnet.DialToAndCall("localhost:5555", caller) 现在发送“helloworld”的下一步是什么 telnet库实现“Writer”类型。具有写入方法。在下面的示例中,您可以看到CallTELNET使用stdin和stdout允许程序用户通过telnet
var caller telnet.Caller = telnet.StandardCaller
telnet.DialToAndCall("localhost:5555", caller)
现在发送“helloworld”的下一步是什么 telnet库实现“Writer”类型。具有写入方法。在下面的示例中,您可以看到CallTELNET使用stdin和stdout允许程序用户通过telnet进行通信。您可以通过运行程序并键入希望发送的文本,然后按enter键发送“hello world” 包干管
import (
"bufio"
"fmt"
"log"
"os"
"github.com/reiver/go-oi"
"github.com/reiver/go-telnet"
)
type caller struct{}
func (c caller) CallTELNET(ctx telnet.Context, w telnet.Writer, r telnet.Reader) {
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
oi.LongWrite(w, scanner.Bytes())
oi.LongWrite(w, []byte("\n"))
}
}
func main() {
fmt.Printf("Dial to %s:%d\n", "localhost", 8080)
err := telnet.DialToAndCall(fmt.Sprintf("%s:%d", "localhost", 8080), caller{})
if err != nil {
log.Fatal(err)
}
}
找到的示例和使用
func SetTest() {
conn, _ := telnet.DialTo("localhost:5555")
conn.Write([]byte("hello world"))
conn.Write([]byte("\n"))
}