test go web socket

server.go

package main

import (
	"github.com/labstack/echo/v4"
	"golang.org/x/net/websocket"
)

func main() { //20200727
	e := echo.New()

	e.GET("/ws", func(c echo.Context) error {
		handler := websocket.Handler(func(conn *websocket.Conn) {
			readString(conn)

			conn.Write([]byte("ok"))
			println("send client : ok")
		})
		handler.ServeHTTP(c.Response().Writer, c.Request())
		return nil
	})
	e.Start(":11111")
}

func readString(conn *websocket.Conn) {
	var msg = make([]byte, 1024)
	read, err := conn.Read(msg)
	if err != nil {
		println(err)
	}
	println("from client : ", string(msg[:read]))
}

client_test.go

package main

import (
	"encoding/json"
	"golang.org/x/net/websocket"
	"testing"
)

var wsurl = "ws://localhost:11111/ws"
var origin = "ws://localhost:11111"

func TestSend(t *testing.T) { // 20200727

	ws, err := websocket.Dial(wsurl, "", origin)
	if err != nil {
		t.Log(err)
	}

	m := make(map[string]string)
	m["deviceId"] = "123"
	marshal, _ := json.Marshal(m)
	if err := websocket.Message.Send(ws, marshal); err != nil {
		t.Log(err)
	}
	t.Log("send server : ", m)
	data := make([]byte, 1024)
	n, err := ws.Read(data)
	if err != nil {
		t.Error(err)
	}
	t.Log("form server : ", string(data[:n]))
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值