今天在给服务器做压力测试的流程的时候,遇到了个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))
}