Я думаю, что версия Go в репозитории пакетов Ubuntu, вероятно, 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 )
Обновление : Извините, я написал / прочитал слишком быстро, кажется, что это не работает, на странице показано: "не протокол веб-сокета" (здесь бета-версия Chrome 18.0.1025.33 на 64b Ubuntu 10.04)
Обновление 2012-08-22 : Примечание выше ( 1 ) о редактировании пакета websocket больше не сохраняется.Тем временем пакет websocket был обновлен, и приведенный выше пример (основной) кода теперь компилируется без проблем.Во всяком случае, я не проверял, делает ли он потом то, что должен или нет, извините.