专栏首页Golang语言社区Golang 解析base64网络传输如何解析

Golang 解析base64网络传输如何解析

今天在给服务器做压力测试的流程的时候,遇到了个Golang语言的解析问题;涉及到的主要是解析Base64编码问题,同时也看了底层的源码以下是自己实现的解析: 核心的解析如何: 我们前端和后端是自定义的结构提实现的;

b, _ := json.Marshal(test)
        data := ""
        data = "data" + "=" + string(b[0:len(b)])
        ws, err := websocket.Dial(url+data, "", origin)
        if err != nil {
                log.Fatal(err)
        }
        _, err = ws.Write(b)
        if err != nil {
                log.Fatal(err)
        }
        onlineUser := &OnlineUser{
                Connection: ws, // 链接的数据信息
        }
        for {
                var content string
                // 循环获取数据 ,维护房间的数据的指针
                err := websocket.Message.Receive(onlineUser.Connection, &content)
                //fmt.Println("clent get data : %s " + string(content))
                if err != nil {
                        fmt.Println(err.Error())
                        return
                }
                // decode
                fmt.Println(strings.Trim("", "\""))
                fmt.Println(content)
                content = strings.Replace(content, "\"", "", -1)
                contentstr, errr := base64Decode([]byte(content))
                if errr != nil {
                        fmt.Println(errr)
                }
                // 字符串转JSON
                // 解析数据
                onlineUser.SyncMessageFun(string(contentstr))
        }

本文分享自微信公众号 - Golang语言社区(Golangweb)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • golang 详解defer

    defer用来声明一个延迟函数,把这个函数放入到一个栈上, 当外部的包含方法return之前,返回参数到调用方法之前调用,也可以说是运行到最外层方法体的"}"时...

    lpxxn
  • Go实战--golang中使用RethinkDB(gorethink/gorethink.v3)

    生命不止,继续go go go !!! 关于golang中操作数据库,曾经介绍了不少: Go实战–go语言操作sqlite数据库(The way to go) ...

    程序员的酒和故事
  • Golang语言社区--Go语言基础第七节函数调用等

    大家好,我是Golang语言社区主编彬哥,本篇给大家带来的是关于Go语言中的函数调用相关。

    李海彬
  • Golang语言社区--标准库分析之strconv包

    大家好,我是Golang语言社区主编彬哥,这篇是给大家转载的关于Go语言的strconv 包相关的知识。

    李海彬
  • Golang语言社区--Golang通用连接池

    连接池在编程中并不少见,链接数据库,redis等操作都需要连接池,否则就会出现并发问题,如果每次操作都建立一条新的链接将会大大消耗资源,笔者也是在使用thrif...

    李海彬
  • Golang中使用echo框架、MongoDB、JWT搭建REST API

    生命不止,继续go go go !!! 之前介绍过golang中restful api的博客,是使用redis作为持久化,httprouter作为框架: Go...

    程序员的酒和故事
  • 为什么Go语言在中国格外的火

    Go语言推出有几年了,似乎不温不火。但是在中国范围内,确实被关注的一塌糊涂。 这是2017年2月份TIOBE出的编程语言排名: ? 在拉勾网上搜索go的职位,结...

    程序员的酒和故事
  • Docker 入门介绍

    Docker简介 ---- Docker是DotCloud开源的、可以将任何应用包装在Linux container中运行的工具。2013年3月发布首个版本,当...

    美团技术团队
  • Golang语言社区--Go操作CSV文件

    大家好,我是Golang语言社区主编彬哥;今天给大家讲解一篇关于Go语言操作CSV文件的相关的。

    李海彬
  • Golang语言社区--标准库strings包讲解

    大家好,我是Golang语言社区主编彬哥,本篇文章是给大家转载关于标准库strings包的知识。

    李海彬

扫码关注云+社区

领取腾讯云代金券