我正在尝试使用 AutobahnPython 和 AutobahnJS 库开始使用 WAMP,但我无法让官方示例正常工作。这是我所做的:
pip-2.7 install autobahn # this gave me ab 0.5.14, but I tried 0.6-git too
git clone git://github.com/tavendo/AutobahnPython.git
git checkout maintenance_v0_5
cd AutobahnPython/examples/wamp/authentication/
python2.7 server.py debug
firefox http://localhost:8080
我在服务器的调试输出中得到以下信息:
2013-03-29 15:11:23+0100 [-] Log opened.
2013-03-29 15:11:23+0100 [-] WampServerFactory starting on 9000
2013-03-29 15:11:23+0100 [-] Starting factory <autobahn.wamp.WampServerFactory instance at 0x132b5a8>
2013-03-29 15:11:23+0100 [-] WampServerFactory starting
2013-03-29 15:11:23+0100 [-] Site starting on 8080
2013-03-29 15:11:23+0100 [-] Starting factory <twisted.web.server.Site instance at 0x1779b90>
2013-03-29 15:11:28+0100 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Mar/2013:14:11:27 +0000] "GET / HTTP/1.1" 200 3429 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0"
2013-03-29 15:11:29+0100 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Mar/2013:14:11:28 +0000] "GET /favicon.ico HTTP/1.1" 404 145 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0"
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] TX WAMP: [0, "H0tcxzZW7g2aUKQ4", 1, "Autobahn/0.5.14"]
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] registered remote method on http://api.wamp.ws/procedure#auth
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] registered remote method on http://api.wamp.ws/procedure#authreq
2013-03-29 15:11:29+0100 [HTTPChannel,0,127.0.0.1] 127.0.0.1 - - [29/Mar/2013:14:11:28 +0000] "GET /favicon.ico HTTP/1.1" 404 145 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0"
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] RX WAMP: [2,"0.42w1p52zq5g","http://api.wamp.ws/procedure#authreq","foobar",null]
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] TX WAMP: [3, "0.42w1p52zq5g", "{\"extra\": {}, \"timestamp\": \"2013-03-29T14:11:29Z\", \"authid\": \"PmRmYauw3-2S_4Wh\", \"authkey\": \"foobar\", \"sessionid\": \"H0tcxzZW7g2aUKQ4\", \"authextra\": {\"keylen\": 32, \"salt\": \"RANDOM SALT\", \"iterations\": 10000}, \"permissions\": {\"rpc\": [{\"call\": true, \"uri\": \"http://example.com/procedures/hello\"}], \"pubsub\": [{\"prefix\": true, \"uri\": \"http://example.com/topics/\", \"pub\": true, \"sub\": true}]}}"]
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] RX WAMP: [2,"0.35zpscr4dpf","http://api.wamp.ws/procedure#auth","4xs7OnDnqHP+DiMqLnK95s36eiEhMRbkbUcRPJRHoOY="]
最后是服务器和客户端(浏览器日志)的以下错误:
2013-03-29 15:11:29+0100 [MyServerProtocol,0,127.0.0.1] TX WAMP: [4, "0.35zpscr4dpf", "http://api.wamp.ws/error#invalid-signature", "signature for authentication request is invalid"]
2013-03-29 15:11:34+0100 [MyServerProtocol,0,127.0.0.1] RX WAMP: [7,"http://example.com/topics/mytopic1","Hello, world!"]
2013-03-29 15:11:34+0100 [MyServerProtocol,0,127.0.0.1] no topic / publication handler registered for http://example.com/topics/mytopic1
这里有什么问题?这是我的错吗?