Używam usługi autobahn do uruchamiania serwera sieci Web w celu uzupełnienia mojej aplikacji Django. Czasami muszę wysyłać wiadomości z Django na serwer websocket, który działa poprawnie przy użyciu modułu websocket-client. Chciałbym użyć protokołu WAMP, ponieważ interfejs RPC/PubSub wygląda świetnie, ale kod klienta Pythona jest zaimplementowany jako skręcony protokół i nie mogę wymyślić, jak go użyć, tj. Jak wywołanie funkcji, a nie z jakiejś zagranicznej pętli zdarzeń. Czy jest coś, czego nie widzę w dokumentach, czy też moja architektura powinna być inna?Klient imperatywny do automatycznego serwera WAMP?
Odpowiedz
https://github.com/itamarst/crochet może ci w tym pomóc.
To wygląda bardzo obiecująco, dziękuję :-) – Simon
Interesujące. I tak, używając tej biblioteki, możesz zrobić to, co chcesz: uruchom Autobahn (klient) w swojej aplikacji, ale blokuj (z POV aplikacji). – oberstet
Czy nie jest możliwe utworzenie instancji i użycie klienta WAMP bez uruchamiania pętli zdarzeń? A może wymagałoby to stworzenia pełnowymiarowej implementacji "bez eventów" w dodatku do implementacji Twisted & asyncio? – Petri
- 1. Apache: klient zaprzeczył konfiguracji serwera
- 2. Klient serwera wysyłanie/odbieranie prostego tekstu
- 3. błąd uruchamiania serwera Wamp "nie -może startowa [Ephase Error]"
- 4. Ikona serwera WAMP nie zmienia koloru na zielony
- 5. PHP: Wewnętrzny błąd serwera przy użyciu WAMP (przy uruchomieniu)
- 6. Error 403. Wamp Server
- 7. Uzyskiwanie dostępu do zdalnego serwera MBean
- 8. Jak zezwolić na zdalny dostęp do mojego serwera WAMP dla telefonów komórkowych (Android)
- 9. Używanie Pythona z WAMP
- 10. Klient Git z "autopush"?
- 11. Wamp Virtual Host Set
- 12. Prekompilowany klient usług podstawowych i generowanie własnego serwera proxy
- 13. Klient serwera tcp NSOS iS NSStream nie może komunikować się
- 14. CURL dla WAMP
- 15. WAMP i pcntl_fork
- 16. klient zaprzeczył konfiguracji serwera podczas próby użycia git-http-backend.exe
- 17. Klient subskrybuj nie otrzymujący danych z serwera Meteor opublikował
- 18. Błąd Apache XAMP: klient odmówiony przez konfigurację serwera
- 19. angularjs boczne klient wiążące dane i po stronie serwera templating
- 20. Czy klient może wyświetlić kod źródłowy PHP po stronie serwera?
- 21. Klient wysokiego poziomu dla serwera golang http2 push
- 22. Skrót do automatycznego importu Xamarin
- 23. Wejścia do automatycznego zwiększania Java?
- 24. Narzędzia do automatycznego upraszczających regexes
- 25. Jak usunąć index.php w Wamp?
- 26. Jak zainstalować PHPUnit z WAMP?
- 27. Python Twisted klient WebSocket
- 28. Używanie PHP 7 z WAMP
- 29. WAMP .htaccess daje Internal Server Error po przeprowadzce z XAMPP
- 30. Błąd serwera Wampirowania offline
Wszystko w Pythonie jest konieczne. Myślę, że masz na myśli "blokowanie" lub "synchronicznie". –
Jeśli chodzi o architekturę, istnieją (przynajmniej) 2 opcje: a) uruchomienie Autobahn jako oddzielnego serwera i uzyskanie dostępu jako klient z Django. b) uruchomić Django i Autobahn (serwer) w ramach jednego procesu. Jest przykład do robienia b) z Flask i Autobahn tutaj https://github.com/tavendo/AutobahnPython/blob/master/examples/websocket/echo_wsgi/server.py – oberstet
@ Jean-PaulCalderone: Masz rację, ja chcę synchronicznego, blokującego połączenia. – Simon