Golang TCP客户端命令行解析,根据参数连接服务器
Posted 卑微的小李
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang TCP客户端命令行解析,根据参数连接服务器相关的知识,希望对你有一定的参考价值。
main.go:
flag.Parse()调取命令行解析,在init函数中解析 ip与端口,用于后面生成 tcp连接对象。
func init() {
flag.StringVar(&serverIp,"ip","127.0.0.1","set server ip")
flag.IntVar(&serverPort,"port",8888,"set server port")
}
func main() {
//命令行解析
flag.Parse()
client := NewClient(serverIp,serverPort)
if client.Connect() != true {
return
}
fmt.Println("connect success")
bufio.NewReader(os.Stdin)
return
}
client:
根据main 解析的ip、port,建立tcp连接,并返回连接结果。
package main
import (
"fmt"
"net"
)
type Client struct {
Ip string
Port int
Conn net.Conn
}
func NewClient(ip string,port int) *Client {
client := &Client{
Ip : ip,
Port : port,
}
return client
}
func (this* Client) Connect() bool {
conn,err := net.Dial("tcp",fmt.Sprintf("%s:%d",this.Ip,this.Port))
if err != nil {
fmt.Println("net Connect err:",err)
return false
}
this.Conn = conn
return true
}
效果:
以上是关于Golang TCP客户端命令行解析,根据参数连接服务器的主要内容,如果未能解决你的问题,请参考以下文章