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

 
Maxim Dmitrievsky:
mais que les sortir de widget ? que dans un fichier, par exemple, tout de même il faut faire quelque chose)

Ainsi, au tout début, j'ai écrit, à partir de cellules de tableaux HTML, par l'événement OnChange (je ne me souviens pas du nom exact). En bref, par le biais de DHTML et de modèles d'objets de navigateur. Quelqu'un ici a conseillé de lancer le navigateur directement dans le programme C#, ce qui rend la tâche plus facile. Et tout le code widget est maintenant dans mon local - peut modifier.

Que faire, - Je ne suis pas doué pour les prises, je n'ai pas eu à le faire en quelque sorte.

 
Yuriy Asaulenko:

Ainsi, au tout début, j'ai écrit, à partir de cellules de tableaux HTML, par l'événement OnChange (je ne me souviens pas du nom exact). En bref, par le biais de DHTML et de modèles d'objets de navigateur. Quelqu'un ici a conseillé de lancer le navigateur directement dans le programme C#, ce qui rend la tâche plus facile. Et tout le code du widget est maintenant dans mon local - il est possible de le modifier.

Que faire, - Je ne suis pas doué pour les prises, je n'ai pas eu à le faire d'une manière ou d'une autre.

Je n'ai pas besoin de réinventer une roue et de commencer quelque chose quelque part. Tout existe déjà - objet WebBrowser. C'est ce dont je parlais. Je pensais que tu en parlais aussi. Vous devez attraper l'événement à l'intérieur. Lequel - je ne sais pas - je ne l'ai pas examiné et je n'ai pas le temps ! Mais le sujet est intéressant.

 
mmmoguschiy-new:
Tout est déjà en place - l'objet WebBrowser. C'est ce dont je parlais. Je pensais que tu en parlais aussi. Je suis à l'intérieur et j'ai besoin d'attraper l'événement. Lequel - je ne sais pas - je ne l'ai pas approfondi et je n'ai pas le temps ! Mais le sujet est intéressant.

J'en suis conscient. Je le sais aussi. :) C'est pratiquement l'équivalent de lancer IE.

Bien qu'avant, il ya quelques années, fait par le biais de scripts directement dans la page HTML, qui a déjà interagi avec le programme.

 
Je ne vois pas comment un objet navigateur web peut être utile - on crée cet objet, on charge une page dedans, et puis quoi ? :)) C'est plutôt cool. Comment accéder aux éléments de la page, écrire le code, ne pas envoyer de messages comme.. : "Oh, quel sujet intéressant, mais je n'ai pas le temps maintenant", les gens ont déjà écrit 5 et pas une seule ligne de code. Ou alors ne pas écrire, ce ne serait pas une information inutile, qui doivent passer du temps sur le traitement :)
 
Maxim Dmitrievsky:
Je n'achète pas ce qui peut être utile pour un objet de navigateur web - bien, nous avons créé cet objet, chargé la page, et puis quoi ? :)) C'est plutôt cool. Comment accéder aux éléments de la page, écrire le code, ne pas envoyer de messages comme.. : "Oh, quel sujet intéressant, mais je n'ai pas le temps maintenant", les gens ont déjà écrit 5 et pas une seule ligne de code. Ou alors ne pas écrire, ce ne serait pas une information inutile, qui doivent passer du temps sur le traitement :)

Il n'est pas nécessaire de charger la page pour obtenir chaque nouvelle citation - elle est chargée une fois en mémoire, puis mise à jour par des scripts internes.

Je ne peux pas vous aider avec le code, ce n'est pas mon domaine. Mais le conseil est bon)

 

;)

Vraiment, pourquoi réinventer la roue...

vous pouvez facilement enregistrer le widget sur le disque, comme n'importe quelle page html. Dans le dossier de la page, vous trouverez deux scripts, faye-client.js et lmax-widget-quotes-v2.min.js.

ils font tout le travail...

Vous êtes probablement en mesure d'interagir avec eux via des applications C# et le WebBrowser intégré. Il faut charger une copie locale bien sûr, en ayant préalablement modifié les scripts Java pour que les données reçues soient déversées là où c'est nécessaire...

c'est tout ce qu'il y a à faire... démonter ces scripts et les modifier légèrement ;))))

 
Andrey Ziablytsev:

;)

Vraiment, pourquoi réinventer la roue...

vous pouvez facilement enregistrer le widget sur le disque, comme n'importe quelle page html. Dans le dossier de la page, vous trouverez deux scripts, faye-client.js et lmax-widget-quotes-v2.min.js.

ils font tout le travail...

Vous êtes probablement en mesure d'interagir avec eux via des applications C# et le WebBrowser intégré. Il faut charger une copie locale bien sûr, en ayant préalablement modifié les scripts Java pour que les données reçues soient déversées là où c'est nécessaire...

c'est tout ce qu'il y a à faire... démonter ces scripts et les modifier légèrement ;))))

...il suffit de faire défiler un kilomètre de scripts sur la droite... :) non, je suis en sockets pour l'instant, voyez si vous y arrivez, si quelqu'un y arrive via un navigateur web, qu'il soit loué :)
 

Jusqu'à présent, mon code personnel *cough ressemble à ceci, la connexion au serveur est établie mais rien n'est lu.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.Net.WebSockets;

namespace LmaxSocket
{
    class Program
    {
        static void Main(string[] args)
        {
            // Создаем локальную конечную точку
            IPAddress ipAddr = IPAddress.Parse("66.175.215.164");
            IPEndPoint endPoint = new IPEndPoint(ipAddr, 443);
            TcpClient newClient = new TcpClient();
            bool conn = false; 

            try
            {
                // Соединяемся с сервером
                newClient.Connect(ipAddr, 443); // В этот момент сокет
                                                // порождает исключение, если
                                                // при соединении возникают проблемы
               conn = newClient.Connected; // проверяем статус соединения
              
               Console.WriteLine(conn.ToString()); // пишем статус соединения          
            }
            catch (SocketException ex)
            {
                Console.WriteLine("Exception: " + ex.ToString());
            }

                   
            try //этот код почему-то не обрабатывается как надо
            {
                NetworkStream tcpStream = newClient.GetStream(); // создаем сетевой поток для перехвата сообщений сокета
                byte[] bytes = new byte[newClient.ReceiveBufferSize];
                int bytesRead = tcpStream.Read(bytes, 0, newClient.ReceiveBufferSize);

                // Строка, содержащая ответ от сервера
                string returnData = Encoding.UTF8.GetString(bytes);
                Console.WriteLine(returnData); // почему-то эта строка не выводсится, и не возникает исключений
            }
            catch (SocketException ex)
            {
                Console.WriteLine("Exception: " + ex.ToString());
            }
        }
    }
}
 

En voici un dans le WebBrowser.

Les valeurs sont lisibles, mais le widget lui-même est dessiné de travers. Peut-être que quelqu'un peut le réparer.

Dossiers :
 
Event:

En voici une dans le WebBrowser.

Les valeurs sont lisibles, mais le widget lui-même est dessiné de travers. Peut-être que quelqu'un peut le réparer.

Ooh... cool, merci. Au moins, j'ai maintenant un exemple de ce qu'il faut faire : je n'ai pas besoin de ce widget, il peut être retiré de la fenêtre. L'essentiel est que les guillemets peuvent maintenant être utilisés )