13397158231   jevian_ma@worldflying.cn

使用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。


文章作者:沃航科技


优秀产品推荐:可编程网络IO控制器

上一篇:可在windows下使用---基于go的http代理服务器goproxy

下一篇:通过shell设置备份功能

联系我们

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

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务