我在Ubuntu上运行Go编译器,使用 sudo apt-get install golang
安装
我已经成功编译并执行了一个简单的示例服务器的代码(参见http://golang.org/pkg/websocket/#Handler)
package main
import (
"http"
"io"
"websocket"
)
// Echo the data received on the Web Socket.
func EchoServer(ws *websocket.Conn) {
io.Copy(ws, ws);
}
func main() {
http.Handle("/echo", websocket.Handler(EchoServer));
err := http.ListenAndServe(":12345", nil);
if err != nil {
panic("ListenAndServe: " + err.String())
}
}
但是,我无法使用我的Chromium版本(16.0.912.77)连接到服务器 . 我假设Chrome已经实现了RFC 6455 Websocket(版本13),但是Ubuntu golang包中的go websocket库已经过时了 .
所以,我的问题是:如何只将websocket包更新到最新版本?
2 回答
Go
websocket
软件包的最新版本是net/websocket
,位于code.google.com/p/go.net/websocket
,需要Go 1每周开发版本 .对于Ubuntu golang-weekly:Ubuntu PPA packages for Go .
对于每周开发发布文档:Go Programming Language .
我想Ubuntu软件包存储库中Go的版本可能是r60.3(左右),现在有点旧了 . 使用最新的每周,将代码更改为:
此外,在websocket包
s/ParseRequestURI/ParseRequest/
,它似乎在这里工作 . ( 1 )Update :抱歉,我写得/读得太快,似乎没有用,页面显示:"not websocket protocol"(这里是64b Ubuntu 10.04上的Chrome 18.0.1025.33 beta)
Update 2012-08-22 :以上( 1 )关于编辑websocket包的注意事项如果后来做了应该或不做的事情就不会被测试,抱歉 .