码迷,mamicode.com
首页 > 其他好文 > 详细

Go的Socket(TCP服务客户端)

时间:2021-06-29 16:04:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:UNC   err   image   cmd   byte   src   service   std   开始   

1.目录

技术图片

 

 

2.service

package main

import (
    "fmt"
    "net"
)

func processConn(conn net.Conn) {
    for {
        //3.与客户端通信
        var temp [128]byte
        n, err := conn.Read(temp[:])
        if err != nil {
            fmt.Println("读取链接失败,err:", err)
            return
        }
        fmt.Println(string(temp[:n]))
    }
}

func main() {
    //1.本地端口启动服务
    listener, err := net.Listen("tcp", "127.0.0.1:2001")
    if err != nil {
        fmt.Println("开始连接tcp端口 127.0.0.1 失败,err:", err)
        return
    }
    //2.等待建立链接
    for {
        conn, err := listener.Accept()
        if err != nil {
            fmt.Println("接受失败,err:", err)
            return
        }
        go processConn(conn)
    }
}

 

3.client

package main

import (
    "bufio"
    "fmt"
    "net"
    "os"
    "strings"
)

//tcp client
func main() {
    //1.与服务端建立链接
    conn, err := net.Dial("tcp", "127.0.0.1:2001")
    if err != nil {
        fmt.Println("dial 127.0.0.1:2001 失败,err", err)
        return
    }
    //2.发送数据
    reader := bufio.NewReader(os.Stdin)
    for {
        fmt.Println("请输入:")
        msg, _ := reader.ReadString(\n)
        msg = strings.TrimSpace(msg)
        if msg == "exit" {
            break
        }
        conn.Write([]byte(msg))
    }
    conn.Close()
}

 

4.执行结果:

技术图片

 

 

 

注:使用cmd进入对应路径执行

 

Go的Socket(TCP服务客户端)

标签:UNC   err   image   cmd   byte   src   service   std   开始   

原文地址:https://www.cnblogs.com/dzw159/p/14949181.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!