Wslink permite o comunicare usoara si bidirectionala intre un server python si un client javascript sau C ++ printr-un websocket. Clientul poate efectua apeluri de procedura la distanta (RPC) catre server, iar serverul poate publica mesaje la subiecte la care clientul se poate abona. Serverul poate include atasamente binare in aceste mesaje, care sunt comunicate ca un mesaj web binar, evitand cheltuielile generale de codificare si decodare.
RPC si publicati / abonati-va
Utilizatorii initiali ai wslink care conduc dezvoltarea acestuia sunt VTK si ParaViewWeb. ParaViewWeb si vtkWeb necesita:
-
RPC – un apel de procedura la distanta care poate fi declansat de client si returnat mai tarziu cu un raspuns de la server, posibil o eroare.
-
Publicare / abonare – clientul se poate abona la un subiect furnizat de server, eventual cu un filtru pe partile de interes. Cand subiectul are rezultate actualizate, serverul le publica catre client, fara alte actiuni din partea clientului.
Wslink inlocuieste un strat de comunicare bazat pe Autobahn WAMP, astfel incat unul dintre obiective este sa fim destul de compatibili cu WAMP, dar simplificam interfata cu comunicarea punct-la-punct pe care o folosim de fapt.
Exemple
- Configurati un Python (2.7 sau 3.5+) virtualenv folosind requirements.txt. Aproximativ:
- cd wslink / python
- pip instala virtualenv
- virtualenv runtime_37
- runtime_37 sursa / Scripturi / activate (pe Windows)
- pip install -r requirements.txt
- pip install -e. (pentru a utiliza wslink curent pentru dezvoltare)
- Instalati node.js 6+ pentru clientul javascript
- cd wslink / js
- npm test de rulare
- sau:
- npm run build: exemplu
- cd ../python
- exemple python / webserver.py
- porneste un server web la localhost cu butoane pentru a testa metodele RPC si pub / sub
- python examples / simple.py –content ../js/dist/examples
- porneste acelasi exemplu folosind serverul configurabil
Testarea
- dependente suplimentare de testare sunt in requirements-dev.
me follo a mi madrastra peliculas porno de incesto
compilacion mamadas orgias de maduros
follando a mi compañera de piso mi primera follada
videos porno online videos pornos muy guarros
viejas anales xxx orgias
transexual española follando porbo
trio con mi esposa españolas pajeandose
asiatica forzada sexo camara oculta españa
mamadas de polla hermanos jovenes follando
porno gay marruecos videos porno morbosos
porno gay primera vez videos de peliculas eroticas
porno espaniol trios con españolas
porno forzado porno bix
tias buenas desnudas hijas calientes
mi mujer es muy puta se follan a mi mujer
pormo zoofilia con abuelas
xxx incesto real viejas zoofilia
coños ricos pollas arabes
videos madres lesbianas tias follando con animales
fiestas porno tetonas delgadastxt
- cd python / src
- teste python / testWSProtocol.py
- Foloseste o „batjocura” a mesajului sendMessage al WslinkWebSocketServerProtocol, pentru a verifica daca sunt generate mesajele sau erorile asteptate.
API existent
Aplicatiile existente ParaViewWeb folosesc aceste modele de cod:
- @exportRPC decorator in codul serverului Python pentru a inregistra o metoda ca apelabila de la distanta
- session.call (“method.uri”, [args]) in clientul JavaScript pentru a efectua un apel RPC. De obicei, infasurat ca metoda obiect, astfel incat pare a fi o metoda de clasa normala.
- session.subscribe (“method.uri”, callback) in clientul JS pentru a initia o relatie pub / sub.
- serverul apeleaza self.publish („method.uri”, rezultat) pentru a impinge informatiile inapoi catre client
Nu acceptam introspectia sau strangerea de mana initiala despre metodele acceptate – clientul si serverul trebuie sa fie sincronizate.
Formatul mesajului:
Atasamente binare
session.addAttachment () preia date binare si le stocheaza, returnand o cheie de sir care va fi asociata cu atasamentul. Cand este trimis un mesaj care utilizeaza cheia atasament, un mesaj antet text si un mesaj binar sunt trimise in prealabil cu fiecare atasament. Clientul va inlocui apoi bufferul binar cu cheia sirului cand primeste mesajul final.
Abonati-va
Clientul urmareste abonamentele – in prezent serverul trimite orbeste mesaje pentru orice date pe care le produce la care ar putea fi abonat. Acest lucru nu este foarte eficient – daca clientul notifica serverului un abonament, acesta poate trimite datele numai atunci cand cineva asculta. Aplicatia ParaViewWeb Visualizer efectueaza un apel RPC dupa abonare pentru a spune serverului sa inceapa publicarea.
Strangere de mana
Cand clientul se conecteaza initial, acesta trimite un „salut” pentru autentificare cu serverul, astfel incat serverul stie ca acest client poate gestiona mesajele pe care le trimite, iar serverul poate oferi clientului un ID de client unic – pe care clientul trebuie sa il incorporeze campul rpc „id” al mesajelor sale catre server.
- Primul mesaj trimis de client ar trebui sa fie salut, cu cheia secreta furnizata de lansator.
- Serverul autentifica cheia si raspunde cu ID-ul clientului.
- Daca clientul trimite o cheie gresita sau nu exista cheie, serverul raspunde cu un mesaj de eroare de autentificare.
Proiecta
Discutii mai ample in documentul de proiectare.








