Récupération d'un flux de prix via WebSocket en C#. - page 5

 
mmmoguschiy-new:
a complété la question.
Nous tirons les données des cellules du tableau - elles ont des noms (identifiants). Pas de problème. Je l'ai fait il y a quelques années, mais en immergeant le cadre dans ma page HTML locale, puis à travers des scripts. A partir de celui-ci, le cadre et ses événements sont accessibles. Je suppose qu'à partir d'un navigateur immergé dans C++/C#, les identifiants de page HTML (frame) sont également disponibles.
 
mmmoguschiy-new:
quel événement, et comment allez-vous récupérer les données lorsqu'il se produira ?
Vous devez vous abonner à l'événement du socket, par lequel le widget reçoit des données :) Ou bien vous devez trouver une requête client appropriée à la websocket, afin qu'en réponse le serveur envoie les guillemets. et de marteler constamment le websocket de requêtes. Mais la première option est meilleure.
 

non, vous n'avez pas besoin de frapper la websocket, c'est une websocket ;) une fois que vous vous abonnez aux bons outils, tout ce que vous avez à faire est de lire le flux de données...

il y a quelques javascripts dans ce widget, ils communiquent avec le serveur via cette même websocket... si seulement on pouvait les décrypter, tout serait plus clair...

 
Yuriy Asaulenko:
Nous tirons des données des cellules du tableau - elles ont des noms (identifiants).
C'est ce qu'on appelle l'analyse syntaxique !

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Obtenir un flux de prix par WebSocket en C#.

Yuriy Asaulenko, 2016.05.18 18:49

Événement - changement de prix dans le tableau du widget dans le navigateur. Je ne peux pas entrer dans les détails car il y a d'autres tâches à accomplir en ce moment.

Et cela s'appelle (pour me citer)"identifier d'une manière ou d'une autre les mises à jour des citations actuelles".Alors ma question est : pourquoi écrire la même chose que moi, mais avec des mots différents ? Vous me passez de la pommade ? Veuillez écrire le nom de l'événement auquel vous devez vous inscrire ou un fragment de code. Pourquoi avez-vous besoin de mots inutiles ? Eh bien, à moins que vous ne soyez pas payé pour ces mots...
 
Andrey Ziablytsev:

non, vous n'avez pas besoin de frapper la websocket, c'est une websocket ;) une fois que vous vous abonnez aux bons outils, tout ce que vous avez à faire est de lire le flux de données...

il y a quelques javascripts dans ce widget, ils communiquent avec le serveur via cette même websocket... Si on pouvait les décrypter, tout serait plus clair.

le problème est que la classe standard.net n'a pas de méthode pour s'abonner aux événements de socket web https://msdn.microsoft.com/ru-ru/library/system.net.websockets.websocket(v=vs.110).aspx, elle ne peut être utilisée que pour le pilonnage :)

c'est à dire que soit asp.net devrait avoir des méthodes appropriées, soit une autre méthode.

ou il n'y a pas de problème, et je ne l'ai pas encore compris.

WebSocket - класс (System.Net.WebSockets)
  • msdn.microsoft.com
Пространство имен: System.Net.WebSockets Сборка: System (в System.dll) ИмяОписание ИмяОписание (Наследуется от Object.) Классы и члены классов в пространстве имен , которые поддерживаются в Windows 7, Windows Vista SP2 и Windows Server 2008, являются абстрактными классами. Это дает возможность разработчику приложения для...
 

en bref, une websocket est une modification d'une simple socket JS pour fonctionner via les navigateurs web. la connexion est établie au début de la session et dure jusqu'à la fermeture de la page...

La communication avec le serveur est un autre problème, il utilise son propre protocole json, si je comprends bien. La question est d'extraire les demandes d'abonnement du html/JavaScript/json lui-même...

puis créer une connexion websocket, envoyer la demande d'abonnement dans le socket et lire le fil dans la boucle...

eh, je me demandais où je pourrais trouver le temps...

d'ailleurs clientwebsocket est plus proche de la vérité, c'est quelque chose comme cecihttp://codereview.stackexchange.com/questions/41591/websockets-client-code-and-making-it-production-ready

Websockets client code and making it production-ready
Websockets client code and making it production-ready
  • codereview.stackexchange.com
The following code is helpful to anyone who uses websockets in general... and is probably good template for anyone getting started in this area. I'd like to flesh this out into something that is more general purpose, and reusable, since the assumptions and questions I have will apply to many different situations. The Timespan "Delay" is used...
 
Andrey Ziablytsev:

en bref, une websocket est une modification d'une simple socket JS pour fonctionner via les navigateurs web. la connexion est établie au début de la session et dure jusqu'à la fermeture de la page...

La communication avec le serveur est un autre problème, il utilise son propre protocole json, si je comprends bien. La question est d'extraire les demandes d'abonnement du html/JavaScript/json lui-même...

puis créer une connexion websocket, envoyer la demande d'abonnement dans le socket et lire le fil dans la boucle...

eh, je me demandais où je pourrais trouver le temps...

au fait, clientwebsocket est plus proche de la vérité, quelque chose comme ceci http://codereview.stackexchange.com/questions/41591/websockets-client-code-and-making-it-production-ready

Eh bien voici tous les en-têtes des clés pour s'y connecter, si je comprends bien. J'ai téléchargé des échantillons, j'essaie de les comprendre :) le problème est aggravé par le manque presque total de compétences en programmation C#, allez, aidez-moi :))

La demande d'abonnement semble être de ce type

[{"channel":"/meta/subscribe","clientId":"0xedb0wsq7leqjx0hb680yfi5l5bffb","subscription":"/fixprof/depthmax/GBPUSD","id":"b"}]

и ответ сервера

[{"id":"b","clientId":"0xedb0wsq7leqjx0hb680yfi5l5bffb","channel":"/meta/subscribe","successful":true,"subscription":"/fixprof/depthmax/GBPUSD"}]
 
Et vous ne pouvez pas vous passer d'une poignée de main, il y a un contrôle du client, vous devez d'abord faire une demande https pour vous connecter au wss et ensuite vous inscrire.
 
Pensez-vous vraiment qu'un widget du site web vous donnera des devis en temps réel et sans délai ? Et si ce n'est pas le cas, quel est l'intérêt ?
 
mmmoguschiy-new:
Cela s'appelle l'analyse syntaxique !


Et cela s'appelle (pour me citer moi-même)"identifier d'une manière ou d'une autre les mises à jour des citations actuelles". Ma question est donc la suivante : pourquoi écrire la même chose que moi, mais avec des mots différents ? Vous me passez de la pommade ? Veuillez écrire le nom de l'événement auquel vous devez vous inscrire ou un fragment de code. Pourquoi avez-vous besoin de mots inutiles ? Eh bien, à moins que vous ne soyez pas payé pour ces mots...

Où veux-tu en venir ? Tu peux aussi dire des mots, et beaucoup. :) Vous êtes probablement payé aussi, non ? L'analyse syntaxique ? - Il y a des lacunes dans la terminologie. :)

Regardez le modèle objet du navigateur et le DHTML et vous verrez quels événements doivent être interceptés. Si c'est à partir de la page du navigateur, comment le faire directement à partir de C#, je ne sais pas. Je ne sais pas - je ne l'ai pas essayé. :)

Ps Il semble qu'il y ait un parsing - un parsing des informations du site. Nous parlons donc de choses différentes. D'où l'affirmation correcte - l'analyse syntaxique de fiddler n'est pas nécessaire.