iT邦幫忙

DAY 10
0

蠻可愛的 Golang系列 第 10

一個簡單的 tcp client

昨天簡單的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

上一篇
一個簡單的 tcp server
下一篇
用Golang 寫個超簡單的Web Server
系列文
蠻可愛的 Golang30

尚未有邦友留言

立即登入留言