13397158231   jevian_ma@worldflying.cn

go获取tcp数据的调试代码

2021-04-26 19:52:01

最近小沃在研究NBIOT与4G,无法使用windows的网络调试工具,只能自己写一个小软件,话不多说,上代码。

package main

import (
    "runtime"
    "log"
    "net"
)

func main() {
    runtime.GOMAXPROCS(1)

    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.Println("version: " + runtime.Version())

    l, err := net.Listen("tcp", ":1883")
    if err != nil {
        log.Println(err)
        l.Close()
        return
    }
    for {
        client, err := l.Accept()
        if err != nil {
            log.Println(err)
            l.Close()
            return
        }
        go HandleTcp(client)
    }
}

func HandleTcp (client net.Conn) {
    defer client.Close()
    b := make([]byte, 32*1024)
    for {
        n, err := client.Read(b)
        if err != nil {
            log.Println(err)
            return
        }
        str := string(b[:n])
        log.Println(str) // 这里也能直接打印b[:n],那就是显示二进制的内容。
    }
}


文章作者:沃航科技

优秀产品推荐:物联网IO控制器

上一篇:Qt5.6.3的windows版本最精简静态编译的方法

下一篇:C语言获取udp调试数据的代码

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn