将go websocket库更新至最新版本

将go websocket库更新至最新版本,websocket,package,go,Websocket,Package,Go,我正在Ubuntu上运行Go编译器,使用sudo-apt-get-install-golang 我已经成功地编译并执行了一个普通示例服务器的代码(请参阅) 但是,我无法使用我的Chromium版本(16.0.912.77)连接到服务器。我假设Chrome已经实现了RFC6455WebSocket(版本13),但是Ubuntu golang包中的GoWebSocket库已经过时了 因此,我的问题是:我如何才能只将websocket软件包更新到最新版本?Gowebsocket软件包的最新版本是net

我正在Ubuntu上运行Go编译器,使用
sudo-apt-get-install-golang

我已经成功地编译并执行了一个普通示例服务器的代码(请参阅)

但是,我无法使用我的Chromium版本(16.0.912.77)连接到服务器。我假设Chrome已经实现了RFC6455WebSocket(版本13),但是Ubuntu golang包中的GoWebSocket库已经过时了


因此,我的问题是:我如何才能只将websocket软件包更新到最新版本?

Go
websocket
软件包的最新版本是
net/websocket
at
code.google.com/p/Go.net/websocket
,这需要Go 1每周开发版本

对于Ubuntu golang周刊:


对于每周开发发布文档:。

我想Ubuntu包存储库中的Go版本可能是r60.3(大约),现在有点旧了。使用“最新每周”,将代码更改为:

package main

import (
        "code.google.com/p/go.net/websocket"
        "io"
        "net/http"
)

// 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.Error())
        }
}
此外,在websocket包
s/ParseRequestURI/ParseRequest/
中,它似乎在这里工作。(1

更新:对不起,我写/读得太快了,它似乎不起作用,页面显示:“不是websocket协议”(这里是64b Ubuntu 10.04上的Chrome 18.0.1025.33测试版)


更新2012-08-22:上述(1)关于编辑websocket包的说明不再适用。websocket包已经同时更新,上面的示例(主)代码现在编译了w/o问题。不管怎样,我还没有测试它以后是否应该做什么,对不起。

这是我真正需要的信息。非常感谢你的帮助。现在我有了一个更新的版本,它似乎工作得很好。也感谢你。更新新版本的代码需要做哪些更改,这非常有用。我使用
ws=newwebsocket('ws://127.0.0.1/echo')使它工作正常命令。但是,是的,为了使websocket库能够编译,您需要将ParseRequestURI更改为您提到的ParseRequest。如何获取Repo中新项目的文档,例如新的websocket?在ListendServe函数上,我过去可以调用.String(),但现在它抱怨没有这样的函数。例如的在线文档在这里:如图所示:谢谢jnml。我不确定如果不是这样我会发现。
package main

import (
        "code.google.com/p/go.net/websocket"
        "io"
        "net/http"
)

// 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.Error())
        }
}