先看客户端网页代码

<html>
<head></head>
<body><script type="text/javascript">var sock = null;var wsuri = "ws://127.0.0.1:1234";window.onload = function() {console.log("onload");sock = new WebSocket(wsuri);   //创建新的websocketsock.onopen = function() {         //连接console.log("connected to " + wsuri);}sock.onclose = function(e) {console.log("connection closed (" + e.code + ")");}sock.onmessage = function(e) {console.log("message received: " + e.data);}};function send() {var msg = document.getElementById('message').value;sock.send(msg);};</script><h1>WebSocket Echo Test</h1><form><p>Message: <input id="message" type="text" value="Hello, world!"></p></form><button οnclick="send();">Send Message</button>
</body>
</html>

下面是服务端的

package mainimport ("golang.org/x/net/websocket""fmt""log""net/http"
)func Echo(ws *websocket.Conn) {var err errorfor {var reply stringif err = websocket.Message.Receive(ws, &reply); err != nil {fmt.Println("Can't receive")break}fmt.Println("Received back from client: " + reply)msg := "Received:  " + replyfmt.Println("Sending to client: " + msg)if err = websocket.Message.Send(ws, msg); err != nil {fmt.Println("Can't send")break}}
}func main() {http.Handle("/", websocket.Handler(Echo))if err := http.ListenAndServe(":1234", nil); err != nil {log.Fatal("ListenAndServe:", err)}
}

  

转载于:https://www.cnblogs.com/esiarp/p/9020798.html

Go websocket相关推荐

  1. mqtt+htttp+websocket

    一.介绍 1.参考网址1:WebSocket协议:5分钟从入门到精通 2.参考网址2:WebSocket 教程(阮一峰) 二.应用 1.参考网址1:从 HTTP 到 MQTT:一个移动后端案例概述 2 ...

  2. Java后端WebSocket的Tomcat实现

    转自: http://blog.chenzuhuang.com/archive/28.html http://www.cnblogs.com/xdp-gacl/p/5193279.html 一.Web ...

  3. Java Websocket实例【服务端与客户端实现全双工通讯】

    Java Websocket实例[服务端与客户端实现全双工通讯] 现很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP ...

  4. 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)

    目录 1.HTTP和websocket 2.XMPP 3.COAP 4.MQTT协议 5.DDS 对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议 ...

  5. node.js创建WebSocket服务,并使用原生js ES6完成对WebSocket数据交互

    注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...

  6. 使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容

    使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容 原文:使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容 版 ...

  7. 使用Node.js快速搭建WebSocket server

    原文地址:http://my.oschina.net/yushulx/blog/309413 目录[-] 安装 服务端 客户端 参考 安装 ? 1 npm install ws 服务端 server. ...

  8. python java web_Python 与 Java 使用 websocket 通信

    WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端. Java服务端 import java.io.IO ...

  9. Java项目:在线淘房系统(租房、购房)(java+SpringBoot+Redis+MySQL+Vue+SpringSecurity+JWT+ElasticSearch+WebSocket)

    源码获取:博客首页 "资源" 里下载! 该系统有三个角色,分别是:普通用户.房屋中介.管理员.普通用户的功能:浏览房屋信息.预约看房.和中介聊天.申请成为中介等等.房屋中介的功能: ...

  10. websocket心跳链接代码_WebSocket原理与实践(五)--心跳及重连机制

    在使用websocket的过程中,有时候会遇到网络断开的情况,但是在网络断开的时候服务器端并没有触发onclose的事件.这样会有:服务器会继续向客户端发送多余的链接,并且这些数据还会丢失.所以就需要 ...

最新文章

  1. 数字图像处理:(4)二阶微分在数字图像处理中的应用
  2. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别
  3. 西安电子科技大学计算机接口与通用技术答案,西安电子科技大学--西电《计算机接口与通信技术》平时作业...
  4. ###Fedora下安装Retext
  5. matlab符号函数绘图法_转载:MATLAB 符号函数作图
  6. ruby scala python_解释一个基准在C,Clojure,Python,Ruby,Scala和其他
  7. SpringBoot 2.1.5(8)---发者工具
  8. opencv 解决ippicv下载失败问题ippicv_2019_lnx_intel64_general_20180723.tgz离线下载
  9. 算法:Unix是如何简化路径的Simplify Path简化路径规则
  10. 【IDEA/SVN】IDEA 从SVN导入项目到本地
  11. 测井曲线fft matlab,Matlab编程实现FFT实践及频谱分析
  12. GaitSet:将步态作为序列的交叉视角步态识别
  13. 50 道网络面试题及答案
  14. 【Android,Kotlin】自定义弹框的简单写法Demo
  15. vue实现签名和两张图片合成一张
  16. AliOS Things入门(1) 基于STM32L4与MDK搭建AliOS Things2.1.0开发环境
  17. 基于MXL90614设计温度传感器
  18. iOS 【模仿App 获取app素材】
  19. dell服务器怎么加入pe系统,Dell台式机如何进入PE
  20. Arp欺骗攻击的另类应用之屌丝泡妞记

热门文章

  1. 学习Linux就业前景如何?五大就业岗位!
  2. Python小游戏(打地鼠)
  3. 程序员30岁后,9分钟跑完1600米
  4. 什么叫网站灰度发布?
  5. 美团在Redis上踩过的一些坑-4.redis内存使用优化
  6. 图文教程:如何将电脑TXT文档传到iPhone5并阅读之(无需越狱)
  7. Mac OS X下安装和配置Maven
  8. java service wrapper日志参数设置及优化
  9. 移动端0.5px的实现
  10. Nginx HTTP User_agent