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>
分享到:
相关推荐
websocket Golang版实现,少量的连接数(正常使用,百十来个人)可以保证不出错,对大量请求(看配置,一般几千个)会出现丢失问题。附前端简单展示(需能看懂代码,不再具体阐述)
《HTML5 WebSocket权威指南》是HTML5 WebSocket领域最权威的著作之一,它系统、全面地讲解了HTML5 WebSocket的各个方面,是Web开发人员和架构师学习WebSocket的最佳选择。书中讨论了基于WebSocket的架构师如何减少...
资源名称:HTML5 WebSocket权威指南内容简介:《HTML5 WebSocket权威指南》是HTML5 WebSocket领域最权威的著作之一,它系统、全面地讲解了HTML5 WebSocket的各个方面,是Web开发人员和架构师学习WebSocket的最佳选择...
dSock dSock是分布式WebSocket代理(在Go中,使用Redis)。 客户端可以进行身份验证和连接,并且您可以将文本/二进制消息作为API发送。 功能每个用户具有多个客户端和身份验证dSo dSock dSock是分布式WebSocket...
HTML5 websocket 聊天 java tomcat8
websocket-golang-chat, 使用golang和 web sockets进行简单聊天 这是一个使用golang和 web sockets的简单网络聊天应用程序的演示。这需要去 web socket包,以获取包go get code.google.com/p/go.net/websocket获取...
websocket需要用到jar包websocket需要用到jar包websocket需要用到jar包
本工程为MyEclipse javaWeb工程,用于展示如何使用 HTML5 webSocket API实现即时通讯的功能。 本工程编码方式:UTF-8 功能说明: 1、本功能支持多人聊天,类似于http://www.htkaoyan.com/网站中的在线自询; 2、...
《HTML5 WebSocket权威指南》是HTML5 WebSocket领域最权威的著作之一,它系统、全面地讲解了HTML5 WebSocket的各个方面,是Web开发人员和架构师学习WebSocket的最佳选择。书中讨论了基于WebSocket的架构师如何减少...
websocket.js,websocket页面使用javascript文件,定义.onopen、onmessage、onclose、onerror函数,html通过调用 openSocket(userId)函数,建立websocket链接;其中userId必须唯一; 3、后端代码 WebSocketServer....
资源名称:使用 HTML5 WebSocket 构建实时Web应用内容简介: 本文主要介绍了 HTML5 WebSocket 的原理以及它给实时 Web 开发带来的革命性的创新,并通过一个 WebSocket 服务器和客户端的案例来充分展示 WebSocket 的...
前台用html5 websocket 后台用netty实现聊天系统,nettyWebsocket
这个项目是练习使用html5的WebSocket来开发,将后台线程收到的要显示的图片的字符串显示在前台界面。采用websocket的来获取session,之后用session(websocket的session)来向前台界面推送字符串,避免了频繁的前台...
构建实时Web应用:基于HTML5 WebSocket、PHP和jQuery(英文版) Realtime Web Apps: With HTML5 WebSocket, PHP, and jQuery
html5 websocket聊天程序
安装go revel框架的时候,golang.com/x/net中的包总是下不下来。放在这里方便大家使用。具体的使用方法就不累赘了,如有问题请给我发信。
jetty html5 websocket服务器
WebSocket 领域最全面和系统的著作、三位资深html5技术专家共同编写;系统讲解 websocket 的API、协议、消息传输安全性和企业部署,并给出通过websocket协议通信的真实示例,可操作性强。