当前位置: 首页 > news >正文

网站建设接外包流程图免费安全建网站

网站建设接外包流程图,免费安全建网站,推销网站,企业oa办公系统哪家好golang使用 Gin实现 websocket#xff0c;这里笔者重新搭建一个项目 1、创建项目安装依赖 项目名为 go-gin-websocket 在指定文件夹下#xff0c;新建项目文件夹 go-gin-websocket 进入项目文件夹#xff0c;打开cmd窗口#xff0c;在项目#xff08;go-gin-websocket这里笔者重新搭建一个项目 1、创建项目安装依赖 项目名为 go-gin-websocket 在指定文件夹下新建项目文件夹 go-gin-websocket 进入项目文件夹打开cmd窗口在项目go-gin-websocket文件夹路径下执行初始化命令 go mod init go-gin-websocket go mod init go-gin-websocket 安装依赖 安装gin go get -u github.com/gin-gonic/gin 安装websocket go get github.com/gorilla/websocket 2、搭建项目 在项目目录下新建controller、static、templates、ws文件夹分别用来存放controller代码、静态文件、页面、websocket代码 在templates目录下新建 index.html页面 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body hello scriptvar webSocket;try {webSocket new WebSocket(ws://127.0.0.1:8080/ws?idabc123456789);}catch (e) {console.log(e)}webSocket.onerror function(event) {}//与WebSocket建立连接webSocket.onopen function(event) {console.log(建立连接)console.log(JSON.stringify(event))var msg 身无彩凤双飞翼心有灵犀一点通//发送消息webSocket.send(msg);};//接收服务端发送的消息webSocket.onmessagefunction (m) {console.log(m)console.log(m.data)} /script /body /html 在controller目录下新建 page_controller.go package controllerimport github.com/gin-gonic/ginfunc Index(c *gin.Context) {c.HTML(200, index.html, nil) }在ws目录下新建 websocket.go package wsimport (fmtgithub.com/gin-gonic/gingithub.com/gorilla/websocketlognet/http )func InitWebSocket(c *gin.Context) {var upgrader websocket.Upgrader{ReadBufferSize: 1024,WriteBufferSize: 1024,CheckOrigin: func(r *http.Request) bool {log.Println(升级协议, r.Header[User-Agent])return true},}conn, err : upgrader.Upgrade(c.Writer, c.Request, nil)if err ! nil {log.Println(err)return}defer conn.Close()userId : c.Query(id)log.Println(用户id:, userId)for {mt, message, err : conn.ReadMessage()log.Println(获取客户端发送的消息: string(message))fmt.Println(mt)if err ! nil {log.Println(err)break}var msg 春风得意马蹄疾,一日看尽长安花err2 : conn.WriteMessage(websocket.TextMessage, []byte(msg))if err2 ! nil {log.Println(write:, err2)break}}}在项目根目录下新建 main.go main.go内容 package mainimport (github.com/gin-gonic/gingo-gin-websocket/controllergo-gin-websocket/ws )func main() {e : gin.Default()//html页面位置e.LoadHTMLGlob(templates/*)//静态文件位置e.Static(/static, ./static)e.GET(/, controller.Index)e.GET(/ws, ws.InitWebSocket)e.Run(0.0.0.0:8080) }3、运行测试 浏览器请求 http://localhost:8080/ 4、添加session 添加session用来存储在线用户 这里使用一个map用来保存key是用户idvalue是websocket连接再加一个读写锁保证线程安全 package wsimport (fmtgithub.com/gin-gonic/gingithub.com/gorilla/websocketlognet/httpsync )var connects make(map[string]*websocket.Conn) var lock sync.RWMutexfunc addSession(id string, conn *websocket.Conn) {lock.Lock()connects[id] conndefer lock.Unlock() } func getSession(id string) *websocket.Conn {lock.RLock()defer lock.RUnlock()return connects[id] } func removeSession(id string) {lock.Lock()delete(connects, id)defer lock.Unlock() }func InitWebSocket(c *gin.Context) {var upgrader websocket.Upgrader{ReadBufferSize: 1024,WriteBufferSize: 1024,CheckOrigin: func(r *http.Request) bool {log.Println(升级协议, r.Header[User-Agent])return true},}conn, err : upgrader.Upgrade(c.Writer, c.Request, nil)if err ! nil {log.Println(err)return}defer conn.Close()userId : c.Query(id)log.Println(用户id:, userId)//添加sessionaddSession(userId, conn)for {mt, message, err : conn.ReadMessage()log.Println(获取客户端发送的消息: string(message))fmt.Println(mt)if err ! nil {log.Println(err)break}var msg 春风得意马蹄疾,一日看尽长安花err2 : conn.WriteMessage(websocket.TextMessage, []byte(msg))if err2 ! nil {log.Println(write:, err2)break}}}至此完
http://www.hkea.cn/news/14430456/

相关文章:

  • 青岛网站推广途径怎么做一个企业网站
  • 地方旅游网站建设方案宁波网络建站
  • 义务网站建设云南网络营销文化优化
  • 高端的网站建设公司哪家好wordpress 关闭插件
  • 网站建设公司经营范围廊坊网站定制开发
  • 江汉网站建设花蝴蝶免费视频直播高清版
  • 做系统前的浏览网站能找回吗个人pc wordpress
  • 兰州 电子 网站建设哈尔版网站建设
  • 郑州网站建设找哪家长春找工作最新招聘信息
  • 建立网站 数据分析信息网站建设
  • 33岁改行做网站建设jsp网站空间
  • 汕头网站制作怎么做wordpress post 404
  • 网站一般怎么维护高校网站建设意义
  • 龙岩网站建设加盟重庆百度优化
  • 招聘网站是做什麼的关键词排名优化公司
  • 手机CPA网站建设源码修改品牌网站建设制作
  • 宣传信息网网站规划书微信如何自己开发小程序
  • 银川网站建设银川济南哪里有建网站
  • 郴州网站建设专业定制亚马逊跨境电商好做吗
  • 莞城区网站建设公司2345网址导航浏览器下载
  • 建设网站对公司起什么作用是什么淘宝代运营1个月多少钱
  • 做加油机公司网站有的网站在浏览器打不开怎么办
  • 湖南做网站公司网站开发什么
  • 怎么建网站教程视频服装网站建设物流配送系统
  • 潍坊网站建设价格网站个人备案需要什么资料
  • 网站内部搜索怎么做企业门户网模板下载
  • 搭建网站免费空间搜索引擎优化排名
  • 惠州网站建设模板合作响应式瀑布流网站程序
  • 网站开发介绍ppt建设一个电影网站需要多少钱
  • 鞍山企业做网站wordpress插件推挤