2012-02-22 248 views
0

我使用高速公路0.4.10(https://github.com/oberstet/Autobahn)作爲WebSocket的服務器將消息發送到谷歌的Chrome擴展不會被調用。我可以使用WebSocket()打開和關閉連接,但是當我打電話給autobahn.websocket.WebSocketServerProtocol.sendMessage()時,該消息顯示爲已發送,但在連接關閉之前不會發送。的WebSocket的onMessage()發送消息時,

爲WebSocketServerProtocol的sendMessage()的API(從WebSocketProtocol派生)可以在這裏找到:http://www.tavendo.de/autobahn/doc/python/websocketprotocol.html#autobahn.websocket.WebSocketProtocol

有沒有人遇到過這個問題?

我一直在客戶端的代碼(JS):

ws = new WebSocket('ws://localhost:4444'); 
ws.onmessage = function(event) { 
    console.log('hii'); 
} 

而且服務器(蟒蛇)上...

#json is a string object 
def sendEvent(self, json): 
    print 'to', self.peerstr 
    self.sendMessage(json, sync=True) 

兩個高速公路和我的版本的Chrome( 17.0.963.46)出現(從我的頭文件和文檔中獲得)使用WebSocket草案版本13的協議。

回答

0

高速公路支援Google Chrome(經測試高達V19 ..金絲雀)。

你能嘗試

https://github.com/oberstet/Autobahn/blob/master/demo/broadcast/broadcast_server.py

演示,看看你是否有一個普遍的問題?

如果運行,直接您的擴展,演示服務器..它會送你每秒1個滴答。

您也可以通過更改工廠生產線啓用調試輸出像這樣的代碼

https://github.com/oberstet/Autobahn/blob/master/demo/echo/echo_server_with_logging.py#L50

2個注意事項:

  • 你不需要同步= true選項(它是真正的高級選項..大多與高速公路WS測試套件使用)

  • 你可能想加入http://groups.google.com/group/autobahnws ..獲得答案更快。我偶然發現只有您的問與答這裏

披露:我是高速公路的作家和工作Tavendo。

+0

感謝您的答覆,實際上只是發現了問題(回答上文)。我會取消同步= True選項 - 不知道我在哪裏得到它。 – Lchi 2012-02-24 20:49:09

相關問題