小编给大家分享一下golang中vue使用websocket的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一. 编写golang服务端
1.导入必要的websocket包,golang.org/x/net/websocket 或 github.com/golang/net/websocket
2.编写消息处理函数,主要实现接收客户端发送的消息和向客户端发送消息
(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.绑定地址及端口
main ( ) () { http.Handle(websocket.(handler.)) err := http.ListenAndServe(nil) err != nil { fmt.Println(err) } }
二、编写VUE客户端
<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>
golang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其语法与 C语言相近,但并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能。
以上是“golang中vue使用websocket的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。