Forse mi sbaglio, ma dopo una rapida occhiata al codice non ho visto l'implementazione websocket, il socket tcp è implementato lì.
Esprimerò la mia posizione al riguardo: l'implementazione di qualcosa di puramente in linguaggio mql è ovviamente grande. È bello quando tutto è implementato in un unico ambiente. Nessun ambiente di sviluppo è in grado di coprire tutte le esigenze, per questo vengono creati diversi tipi di librerie che espandono le possibilità dell'ambiente di sviluppo. Ma questo non è nemmeno il problema principale. In mql non c'è multithreading e asincronia, tutti i metodi sono eseguiti in modo strettamente sequenziale. Qualsiasi riferimento a fonti esterne, che sia una richiesta http o una richiesta web, porta inevitabilmente a fermare il programma fino a quando non si riceve una risposta. A volte queste interruzioni possono essere significative, specialmente se c'è un'interruzione di internet. Dal mio punto di vista qualsiasi interazione esterna è meglio farla sotto forma di librerie di terze parti (dll).
Websockets è un add-on per le prese tcp, quello che ho postato implementa un pezzo di un classico client websocket secondohttps://tools.ietf.org/html/rfc6455
Dimitri, non pretendo che questo sia l'unico modo per farlo e non lo impongo a nessuno. Sto esprimendo la mia posizione sulla questione, niente di più. :)
:) Sì, capisco. Non c'è dubbio.
Credetemi, sono arrivato a questa implementazione per una ragione.
All'inizio, c'era WCF sotto forma di dll, che in linea di principio funzionava. Ma il numero di stampelle produce esponenzialmente più bug,
e perdere tempo con un'infrastruttura disonesta... non è la cosa giusta da fare. E così, tutto trasparente e semplice.
Ho scritto qui sopra che ora ho congelato questo client, poiché è apparsa una lib di python di qualità per lavorare con MT e un'altra stampella può essere gettata via.
Quindi è una connessione ip, avevo tutto all'interno di un host, cosa ti impedisce di inserire indirizzi reali e andare come vuoi tu.
Tieni presente che non ho fatto https. Non ne avevo bisogno.
Ho provato a fare il mio websocket basato su MT sockets, ma non è andato oltre un handshake, nessuna risposta è tornata indietro. Pensavo fosse il "firewall" di MT.
Se la memoria non mi inganna, ho testato con questo server http://demos.kaazing.com/echo/index.html
Ho provato a fare il mio websocket basato su MT sockets, ma non è andato oltre una stretta di mano, nessuna risposta è arrivata. Pensavo fosse il "firewall" di MT.
Se la memoria non mi inganna, ho testato con questo server http://demos.kaazing.com/echo/index.html
Se state implementando il protocollo websockets, dovete implementare le intestazioni binarie.
In the demo, enter the connection URL in the Location field and press Connect. If you don't have your own KAAZING Gateway running, you can connect to . You can also use which is hosted on http://websocket.org/echo.html. Secure connectivity Both sandbox.kaazing.net and echo.websocket.org are configured for secure connectivity, so you can also...
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Sì, installate visual studio community, è gratuito.
visual studio èunosviluppo mikrosoft.
Forse mi sbaglio, ma dopo una rapida occhiata al codice non ho visto l'implementazione websocket, il socket tcp è implementato lì.
Esprimerò la mia posizione al riguardo: l'implementazione di qualcosa di puramente in linguaggio mql è ovviamente grande. È bello quando tutto è implementato in un unico ambiente. Nessun ambiente di sviluppo è in grado di coprire tutte le esigenze, per questo vengono creati diversi tipi di librerie che espandono le possibilità dell'ambiente di sviluppo. Ma questo non è nemmeno il problema principale. In mql non c'è multithreading e asincronia, tutti i metodi sono eseguiti in modo strettamente sequenziale. Qualsiasi riferimento a fonti esterne, che sia una richiesta http o una richiesta web, porta inevitabilmente a fermare il programma fino a quando non si riceve una risposta. A volte queste interruzioni possono essere significative, specialmente se c'è un'interruzione di internet. Dal mio punto di vista qualsiasi interazione esterna è meglio farla sotto forma di librerie di terze parti (dll).
Websockets è un add-on per le prese tcp, quello che ho postato implementa un pezzo di un classico client websocket secondohttps://tools.ietf.org/html/rfc6455
Dal mio punto di vista, qualsiasi interazione esterna è meglio farla sotto forma di librerie di terze parti (dll).
Questa questione è puramente una questione di religione personale e dei requisiti del ToR.
Ero più a mio agio con il modo in cui è stato fatto.
Avete provato per internet, come specificate nelle impostazioni di MT di usare ws?
Dimitri, non pretendo che questo sia l'unico modo per farlo e non lo impongo a nessuno. Sto esprimendo la mia posizione sulla questione, niente di più. :)
:) Sì, capisco. Non c'è dubbio.
Credetemi, sono arrivato a questa implementazione per una ragione.
All'inizio, c'era WCF sotto forma di dll, che in linea di principio funzionava. Ma il numero di stampelle produce esponenzialmente più bug,
e perdere tempo con un'infrastruttura disonesta... non è la cosa giusta da fare. E così, tutto trasparente e semplice.
Terminale eventi <- elaborazione json -> <- client websocket -- server websocket -> <- elaborazione json <- servizi DataSience
Ho scritto qui sopra che ora ho congelato questo client, poiché è apparsa una lib di python di qualità per lavorare con MT e un'altra stampella può essere gettata via.
Avete provato per internet, come specificate nelle impostazioni di MT di usare ws?
Quindi è una connessione ip, avevo tutto all'interno di un host, cosa ti impedisce di inserire indirizzi reali e andare come vuoi tu.
Tieni presente che non ho fatto https. Non ne avevo bisogno.
Avete provato per internet, come specificate nelle impostazioni di MT di usare ws?
Immagine Atacha. La porta 80 è per l'handshake, 5000 per i socket tcp.
Consenti dll - non ne hai bisogno.
Quindi è una connessione ip, avevo tutto all'interno di un host, cosa ti impedisce di inserire indirizzi reali e andare come vuoi tu.
Tieni presente che non ho fatto https. Non ne avevo bisogno.
Ho provato a fare il mio websocket basato su MT sockets, ma non è andato oltre un handshake, nessuna risposta è tornata indietro. Pensavo fosse il "firewall" di MT.
Se la memoria non mi inganna, ho testato con questo server http://demos.kaazing.com/echo/index.htmlHo provato a fare il mio websocket basato su MT sockets, ma non è andato oltre una stretta di mano, nessuna risposta è arrivata. Pensavo fosse il "firewall" di MT.
Se la memoria non mi inganna, ho testato con questo server http://demos.kaazing.com/echo/index.htmlSe state implementando il protocollo websockets, dovete implementare le intestazioni binarie.
Sì, puoi testarlo qui:http://www.websocket.org/demos/echo/