如果本机有go环境,可以跳过第1、2两步骤,直接从第3步开始!
1、安装brew
$ curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
2、安装go
$ brew update
$ brew install go
$ cd /Users/$LOGNAME
$ mkdir go
4、输出环境变量,或者加到~/.bash_profile文件里
export GOPATH=~/go
5、新开一个终端,让环境变量生效!
安装go的websocket包
$ go get github.com/gorilla/websocket
6、
$ cd $GOPATH/src/github.com/gorilla/websocket/examples/chat
$ vi conn.go
1) 修改60秒超时为1小时
pongWait = 60 * time.Second 改成 pongWait = 3600 * time.Second
2)下面这段注释掉,域名限制
/*if r.Header.Get("Origin") != "http://"+r.Host {
http.Error(w, "Origin not allowed", 403)
return
}*/
3)服务器上打印收到的信息
i)"github.com/gorilla/websocket"
前面增加一行:
"fmt"
ii)
h.broadcast <- message
前面增加一行:
fmt.Println(string(message))
7、启动
$ go run *.go -addr :50001
8.用cocos2d-x的TestCPP的websocket例子测试:
xcode open cocos2d-x-2.2/samples/Cpp/TestCpp->ExtensionsTest->NetworkTest->WebSocketTest.cpp
if (!_wsiSendText->init(*this, "ws://echo.websocket.org"))
改成
if (!_wsiSendText->init(*this, "ws://192.168.1.144:50001/ws"))
注:192.168.1.144需要对应改成你自己的ip(打开终端,用ifconfig命令查看)
在模拟器或者真机上运行,就可以了!服务器端收到的信息如下图: