昨天簡單的tcp server,是用telent搭配測試;
今天我們用一個簡單的tcp client,來搭配測試.
// hello59
// 一個簡單的tcp client
package main
import (
"bufio"
"fmt"
"net"
"os"
"strings"
)
func main() {
// open connection:
conn, err := net.Dial("tcp", "localhost:50000")
if err != nil {
fmt.Println("Error dialing:", err)
return
}
inputReader := bufio.NewReader(os.Stdin)
fmt.Println("你好!請先輸入名稱:")
clientName, _ := inputReader.ReadString('\n')
trimmedClient := strings.Trim(clientName, "\r\n")
// 詢問使用者然後傳送給 server
for {
fmt.Println("你想傳送什麼給 server? 打 Q 離開!")
input, _ := inputReader.ReadString('\n')
trimmedInput := strings.Trim(input, "\r\n")
if trimmedInput == "Q" {
conn.Close()
return
}
_, err = conn.Write([]byte(trimmedClient + " 說: " + trimmedInput + "\n"))
}
}
client執行情況:
./hello59
你好!請先輸入名稱:
miku
你想傳送什麼給 server? 打 Q 離開!
test1
你想傳送什麼給 server? 打 Q 離開!
test2
你想傳送什麼給 server? 打 Q 離開!
Q
server執行情況:
./hello58
大家好!我是一個簡單的 tcp server!已經啟動!
可以透過 port 50000 傳送資料給我喔!
接收到: miku 說: test1
接收到: miku 說: test2
Error reading EOF