本文摘自php中文网,作者藏色散人,侵删。
下面由golang教程栏目给大家介绍一个golang vue使用websocket 的例子 ,希望对需要的朋友有所帮助!一. 编写golang服务端
1.导入必要的websocket包,golang.org/x/net/websocket 或 github.com/golang/net/websocket
2.编写消息处理函数,主要实现接收客户端发送的消息和向客户端发送消息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | (conn *websocket.) {
conn.Close()
jsonHandler := websocket.JSON
userInfo := &{}
res := &{
Code: Msg: }
Push(conn)
{
err := jsonHandler.Receive(connuserInfo)
err != nil {
fmt.Println(err)
}
jsonData_ := json.Marshal(userInfo)
fmt.Println((jsonData[:]))
err = jsonHandler.Send(connres)
err != nil {
fmt.Println(err)
}
}
}
|
3.绑定地址及端口
1 2 3 4 5 6 7 8 9 10 11 12 | main
(
)
() {
http.Handle(websocket.(handler.))
err := http.ListenAndServe(nil)
err != nil {
fmt.Println(err)
}
}
|
二、编写VUE客户端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <template>
<p>
{{msg}}
</p>
</template>
<script>
export default {
data () {
return {
websock: null,
msg: ''
}
},
methods: {
init: function () {
const wsurl = 'ws://127.0.0.1:88/ws'
this.websock = new WebSocket(wsurl)
this.websock.onmessage = this.onmessage
this.websock.onopen = this.onopen
this.websock.onerror = this.onerror
this.websock.onclose = this.onclose
},
onopen: function () {
this.send( '{"userid":1, "name":"zhang san", "age":"30"}' )
},
send: function (data) {
for ( var i = 0; i < 10; i++) {
this.websock.send(data)
}
},
onclose: function (e) {
console.log( 'ws close' , e)
},
onmessage: function (e) {
let _this = this
console.log(e.data)
_this.msg = e.data
},
onerror: function () {
console.log( 'ws error' )
this.init()
}
},
mounted: function () {
this.init()
},
watch: {
}
}
</script>
|
完整源码访问:https://github.com/w3liu/websocket
以上就是一个golang vue使用websocket 的例子的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
图文讲解godoc的安装与使用
解构 dubbo-go 的核心注册引擎 nacos
goland解析json获取指定字段内容
golang获取两个日期的自然天之差
关于golang里的future/promise
golang环境变量之godebug
asta:是什么终结了我的鸽王生涯?go 1.13 发布!
windows下如何玩转火热的go-zero
golang有web框架吗
golang反射用于什么场景
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » 一个golang vue使用websocket 的例子