golang socket 测试

点点圈 提交于 2019-12-02 05:07:18

用golang不用他的net包还有什么意义,又一个测试代码.

server.go 服务端

package main
      
import (
    "fmt"
    "log"
    "net"
    "bufio"
)
      
func handleConnection(conn net.Conn) {
    data, err := bufio.NewReader(conn).ReadString('\n')
    if err != nil {
        log.Fatal("get client data error: ", err)
    }
      
    fmt.Printf("%#v\n", data)
      
    fmt.Fprintf(conn, "hello client\n")
    conn.Close()
}
      
func main() {
    ln, err := net.Listen("tcp", ":6010")
    if err != nil {
        panic(err)
    }
      
    for {
        conn, err := ln.Accept()
        if err != nil {
            log.Fatal("get client connection error: ", err)
        }
      
        go handleConnection(conn)
    }
}

client.go 客户端

package main
   
import (
    "fmt"
    "net"
    "bufio"
)
   
func main() {
    conn, err := net.Dial("tcp", ":6010")
    if err != nil {
        panic(err)
    }
   
    fmt.Fprintf(conn, "hello server\n")
   
    data, err := bufio.NewReader(conn).ReadString('\n')
    if err != nil {
        panic(err)
    }
   
    fmt.Printf("%#v\n", data)
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!