欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5 websocket实验,后台为golang http包使用

程序员文章站 2022-05-03 19:38:02
[html]   package main   import (   "code.google.com/p/go.net/websoc...
[html]  

package main  

import (  

"code.google.com/p/go.net/websocket"  

"fmt"  

"log"  

"net/http"  

"html/template"  

)  

  

func Echo(ws *websocket.Conn){  

var err error  

for{  

fmt.Println("start")  

var reply string  

if err = websocket.Message.Receive(ws, &reply); err != nil{  

fmt.Println("can't receive")  

break  

}  

  

fmt.Println("received back from client:"+ reply)  

msg := "Received : " + reply  

fmt.Println("Sending to cient: " + msg)  

if err =  websocket.Message.Send(ws, msg); err != nil{  

fmt.Println("Can't send")  

break  

}  

}  

}  

  

func chat(w  http.ResponseWriter, r *http.Request){  

r.ParseForm()  

fmt.Println(r.Form)  

t,_ := template.ParseFiles("websocket_demo.html")  

t.Execute(w, nil)  

}  

  

func main(){  

http.Handle("/", websocket.Handler(Echo))  

http.HandleFunc("/chat", chat)  

if err := http.ListenAndServe(":9999", nil); err != nil{  

log.Fatal("ListentAndServe:", err)  

}  

}  

==========================================================================================  

<html>  

<head>  

<body>  

<script type="text/javascript">  

var sock = null;  

var wsuri = "ws://127.0.0.1:9999";  

window.onload = function(){  

console.log("onload");  

sock = new WebSocket(wsuri);  

sock.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(){  

console.log("send")  

var msg = document.getElementById('message').value;  

console.log(msg)  

sock.send(msg);  

};  

</script>  

<h1> Websocket Echo Test</h1>  

<form>  

<p>  

Message: <input id = "message" type = "text" value ="hello dumx">  

</p>  

</form>  

<button onclick="send();">Send Msg</button>  

</body>  

</head>  

</html>