内容简介:获得相应包支持:go get golang.org/x/net/websocket解释:(1)http.Handle("/", websocket.Handler(Echo))
获得相应包支持:go get golang.org/x/net/websocket
package main
import (
"log"
"net/http"
"os"
"golang.org/x/net/websocket"
)
func main() {
log.Println(os.Args[0]) //第一个参数,显示文件路径
http.Handle("/", websocket.Handler(Echo))
if err := http.ListenAndServe(":8088", nil); err != nil {
log.Println(err)
}
}
func Echo(ws *websocket.Conn) {
for {
var raply string
if err := websocket.Message.Receive(ws, &raply); err != nil { //get infomation,write in adress
log.Println("can't receive")
break
}
msg := "Received:" + raply
log.Println(msg)
if err := websocket.Message.Send(ws, "come back infomation"); err != nil { //send infomation
log.Println("can't send")
break
}
}
}
解释:
(1)http.Handle("/", websocket.Handler(Echo))
主函数中的handle函数,将路由和相关的方法联系起来,不过要经过转化
(2)func Echo(ws *websocket.Conn)
这个函数中实现了逻辑的实行,for循环一直处理用户请求
其中: websocket.Message.Receive(ws, &raply)实现了数据的接收,存入对应的内存地址。
websocket.Message.Send(ws, "come back infomation")发送相应的数据,前台可以接收这个数据。
以下是前台模拟
192.168.149.1是我自己电脑的IP,根据自己的IP不同,提交的地址不一样,在这里改成自己的IP地址或者想要提交的服务器地址即可
<html>
<head>
<title></title>
</head>
<body>
<script>
var sock=null
var wxurl="ws://192.168.149.1:8088"
window.onload=function(){
sock= new WebSocket(wxurl)
sock.onopen = function(){
console.log("connect to "+wxurl)
}
sock.onmessage = function(e){
console.log("message:"+e.data)
alert(e.data)
$("#cs").text(e.data)
}
sock.onclose = function(e){
console.log("close:"+e.code)
}
}
function send(){
var msg = document.getElementById("ms").value
sock.send(msg)
}
</script>
<form>
<input id="ms" type="text" value="hello word" >
<label id="cs"></label>
</form>
<button onclick="send()" >push</button>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- go websocket
- Go WebSocket 简单使用
- Go实现Websocket消息推送
- 使用Go语言创建WebSocket服务
- 使用 Go 语言创建 WebSocket 服务
- 使用 Go 语言创建 WebSocket 服务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
打造Facebook
王淮、祝文让 / 印刷工业出版社 / 2013-2-1 / 39.80元
《打造Facebook》新书发布会,王淮与读者面对面,活动链接:http://www.douban.com/event/18166913/ 这本书的书名——《打造Facebook:亲历Facebook爆发的5年》很嚣张,谁有资格可以说这句话呢,当然,扎克伯格最有资格,但他不会亲自来告诉你,至少从目前的情况来看,近几年都不大可能。而且,这不是一个人的公司。里面的每一人,尤其是工程师,既是公司文......一起来看看 《打造Facebook》 这本书的介绍吧!