zoukankan      html  css  js  c++  java
  • [GO]tcp网络通信和实现

    服务端的代码

    package main
    
    import (
        "net"
        "fmt"
    )
    
    func main() {
        //监听
        listener, err := net.Listen("tcp", ":8000") //不写IP地址代表监听的是本机
        if err != nil {
            fmt.Println("listener errinfo = ", err)
            return
        }
        defer listener.Close()
    
        conn,err := listener.Accept()//阻塞,等待用户连接
        if err != nil {
            fmt.Println("accept err = ", err)
            return
        }
        //接收用户的请求
        buf := make([]byte, 1024)
        n, err1 := conn.Read(buf)
        if err1 != nil{
            fmt.Println("err1 = ", err1)
            return
        }
        fmt.Println(" buf = ", string(buf[:n]))
        defer conn.Close() //关闭当前用户的连接
    }

    客户端的代码

    package main
    
    import (
        "net"
        "fmt"
    )
    
    func main() {
        //主动连接服务器
        conn, err:=net.Dial("tcp", "127.0.0.1:8000")
        if err != nil {
            fmt.Println("err = ", err)
            return
        }
        defer conn.Close()
    
        conn.Write([]byte("are you ok"))
    }

     它们的实现步骤为

  • 相关阅读:
    切换node版本
    vue 移动端组件
    vue 单元测试
    git
    每日日报
    每日日报
    每日日报
    01人月神话阅读笔记之三
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/baylorqu/p/9680979.html
Copyright © 2011-2022 走看看