我正在創建一個簡單的網頁遊戲,使用網絡套接字來傳輸更新HTTP AJAX請求的一切(例如登錄系統,用戶配置文件,& c)。不幸的是,我對mod_python有點新,但似乎我想使用Sessions類來跟蹤訪問者。唯一的問題是會話由於某種原因需要mod_python請求。有沒有辦法在mod_pywebsocket處理程序中使用這些會話,還是我需要推出自己的會話機制?我可以在mod_pywebsocket中使用mod_python的Sessions嗎?
0
A
回答
0
如果任何人可以使用這個,我發現mod_python的會話與mod_pywebsocket很好地工作。以下是需要注意的兩點:
初始化通常,您將使用mod_python請求構造一個mod_python會話對象。幸運的是,mod_pywebsocket的作者有着充分的理由使Web套接字請求(您在web_socket_transfer_data參數中獲得的請求)兼容。這意味着您可以像使用mod_python一樣對實例化Session進行實例化(有關示例,請參閱the docs)。這看起來很明顯,但它不是我。如果您在這樣做時發生錯誤,您做了其他事情不對。
會話鎖要記住的另一件事是,與給定ID關聯的會話默認是鎖定的,並且該鎖持續該會話對象的生存期。這意味着如果您有兩個使用來自同一主機的Sessions的Web套接字,其中一個會永久阻塞。另外,文檔指出這些互斥鎖可能需要非平凡的系統資源。它們清楚地設計用於提供快速的HTTP請求,而不是用於持續的面向連接的使用。
解決會話的一種方法是禁用鎖定,但這可能不是一件聰明的事情。我沒有嘗試過,但如果你嘗試這種競賽條件,那麼最好運氣。我所做的只是創建我只需要很短時間的會話,然後在完成時將None分配給它。顯然with
子句將不適用於這些會話。再一次,這不是非常模糊,但如果你沒有意識到發生了什麼,它會導致一些頭痛。
相關問題
- 1. 我可以在Spotify應用程序中使用php SESSIONS嗎?
- 2. 我可以在PHP中使用Perl CGI :: Sessions數據嗎?
- 3. 你可以在RESTFUL環境中使用NodeJs Passport Sessions嗎?
- 4. Sessions和Laravel隊列可以使用相同的Redis實例嗎?
- 5. 我可以使用mod_python在Apache服務器上運行燒瓶嗎?
- 6. 我可以在giraph中使用python嗎?
- 7. 我可以在.NET中使用「System.Currency」嗎?
- 8. 我可以在foreach中使用html.action嗎?
- 9. 我可以在Linqpad中使用IronPython嗎?
- 10. 我可以在VREffect中使用CSS3DRenderer嗎?
- 11. 我可以在MvcContrib.TestHelper中使用Moq嗎?
- 12. 我可以在Linux中使用winnt.h嗎?
- 13. 我可以在JSON中使用RSS嗎?
- 14. 我可以在OpenCL中使用cuDNN嗎
- 15. 我可以在WCF中使用INotifyPropertyChanged嗎?
- 16. 我可以在DrawerLayout中使用SwipeRefreshLayout嗎?
- 17. 我可以在CCAnimation中使用blendFunc嗎?
- 18. 我可以在UISegmentedControl中使用pushViewController嗎?
- 19. 我可以在fnc def中使用嗎?
- 20. 我可以在stderr中使用CFPropertyListWriteToStream嗎?
- 21. 我可以在async.parallel中使用async.waterfall嗎?
- 22. 我可以在LiveServerTestCase中使用jQuery.post()嗎?
- 23. 我可以在MulticastDelegate中使用BeginInvoke嗎?
- 24. 我可以在C#中使用NetUserGetInfo嗎?
- 25. 我可以在concurrent.futures中使用threading.local嗎?
- 26. 我可以在android中使用PPhys2D嗎?
- 27. 我可以在Future中使用ProcessPoolExecutor嗎?
- 28. 我可以在unicode中使用libxml2嗎?
- 29. 我可以在UIScrollView中使用UIRefreshControl嗎?
- 30. 我可以在twisted.web中使用socket.io嗎?
你應該看看使用[** mod_wsgi **](http://code.google.com/p/modwsgi/)而不是** mod_python **,它不再處於活躍的開發狀態。 –
問題是pywebsocket似乎是python中最流行的基於apache的websocket實現,並且它使用mod_python,因爲它有點舊。我的理解是,websockets使用端口80,這意味着我需要綁定到Apache,如果我想要HTTP和套接字在同一臺服務器上工作。我不確定WSGI和mod_python會在一起玩。 – Troy