Go的SocketTCP服务客户端

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进入对应路径执行

 

相关文章

类型转换 1、int转string 2、string转int 3、string转float ...
package main import s "strings" import...
类使用:实现一个people中有一个sayhi的方法调用功能,代码如...
html代码: beego代码:
1、读取文件信息: 2、读取文件夹下的所有文件: 3、写入文件...
配置环境:Windows7+推荐IDE:LiteIDEGO下载地址:http:...