Go的发送消息(TCP服务客户端-SOCKET)

1.目录

 

 

2.service

package main

import (
    "fmt"
    "net"
)

func processConn(conn net.Conn) {
   defer conn.Close()
//3.与客户端通信
  var temp [128]byte
for { 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进入对应路径执行

 

参考:https://www.bilibili.com/video/BV1fz4y1m7Pm?p=113 

 

posted @ 2021-06-29 11:23  蜗牛的礼物  阅读(448)  评论(0编辑  收藏  举报