您好,欢迎访问沃航(武汉)科技有限公司官方网站
使用go开发一个直接读取tcp数据的工具
2019-09-27 23:13:27

在web开发中经常会遇到需要直接读取http的文本的数据的情况,考虑到http本来就是基于tcp的协议,因此只需要启动一个tcp程序,然后将渡到的程序直接输出即可。小沃最近写了一个小工具用于打印tcp数据,考虑到小工具,自然想到单文件最方便啊,因此小沃依旧是使用golang写的,代码如下:

package main

import (
    "fmt"
    "net"
    "os"
)

func connectHandler (conn net.Conn) {
    buf := make([]byte, 1024)
    for {
        count, err := conn.Read (buf)
        if count == 0 || err != nil {
            return
        }
        fmt.Println (string(buf[:count]))
    }
}

func main() {
    port := "32236"
    args := os.Args
    argslen := len (args)
    for i := 0 ; i < argslen ; i++ {
        if args[i] == "-p" {
            port = args[i+1]
        }
    }
    server, err := net.Listen("tcp", ":" + port)
    if err != nil {
        fmt.Println("开启socket服务失败")
        return
    }
    fmt.Println("开启socket服务成功")
    fmt.Println("listen port:" + port)
    for {
        conn, err := server.Accept()
        if err != nil {
            continue
        }
        go connectHandler (conn)
    }
}

本工具就只有一个参数-p,用于指定监听的端口,不写的话默认为32236。


文章作者:沃航科技


联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn