C#에서 WebSocket을 통해 가격 스트림을 가져옵니다. - 페이지 7

 
Maxim Dmitrievsky :
무엇을 통해 위젯에서 끌어낼 수 있습니까? 예를 들어 파일에 저장하려면 여전히 무언가를 저어야 합니다)

그래서 맨 처음에 HTML 테이블의 셀에서 OnChange 이벤트에 대해 썼습니다(정확한 이름은 기억나지 않음). 즉, DHTML 및 브라우저 개체 모델을 통해. 여기 누군가는 브라우저를 C# 프로그램에서 직접 실행해야 작업이 더 쉬워야 한다고 조언했습니다. 예, 이제 모든 위젯 코드가 내 로케일에 있습니다. 수정할 수 있습니다.

해야 할 일 - 나는 소켓에 강하지 않습니다. 어떻게든 그럴 필요가 없었습니다.

 
Yuriy Asaulenko :

그래서 맨 처음에 HTML 테이블의 셀에서 OnChange 이벤트에 대해 썼습니다(정확한 이름은 기억나지 않음). 즉, DHTML 및 브라우저 개체 모델을 통해. 여기 누군가는 브라우저를 C# 프로그램에서 직접 실행해야 작업이 더 쉬워야 한다고 조언했습니다. 예, 이제 모든 위젯 코드가 내 로케일에 있습니다. 수정할 수 있습니다.

해야 할 일 - 나는 소켓에 강하지 않습니다. 어떻게든 그럴 필요가 없었습니다.

바퀴를 재발명하고 어딘가에 무언가를 시작할 필요가 없습니다. WebBrowser 개체인 모든 것이 이미 있습니다. 그는 그에 대해 이야기하고 있었다. 당신도 그에 대해 생각했습니다. 그 안에서 이벤트를 잡아야 합니다. 정확히 무엇입니까 - 잘 모르겠습니다 - 나는 그것에 대해 탐구하지 않았고 시간이 없었습니다! 그러나 주제는 흥미롭습니다.

 
mmmoguschiy-new :
WebBrowser 개체인 모든 것이 이미 있습니다. 그는 그에 대해 이야기하고 있었다. 당신도 그에 대해 생각했습니다. 그 안에서 이벤트를 잡아야 합니다. 정확히 무엇입니까 - 잘 모르겠습니다 - 나는 그것에 대해 탐구하지 않았고 시간이 없었습니다! 그러나 주제는 흥미롭습니다.

알아요. 나도 그에 대해 얘기하고 있어. :) 실제로 이것은 IE를 시작하는 것과 같습니다.

몇 년 전에 HTML 페이지에서 직접 스크립트를 통해 작업을 수행했지만 고양이는 이미 프로그램과 상호 작용했습니다.

 
웹 브라우저 개체가 어떻게 유용할 수 있는지 모르겠습니다. 이 개체를 만들고 거기에 페이지를 로드하고 다음은 무엇입니까? :)) 멋진 종류. 페이지 요소에 액세스하고 코드를 작성하는 방법: "오, 흥미로운 주제지만 지금은 시간이 없습니다."와 같은 메시지를 작성하지 맙시다. 5명이 이미 작성했으며 한 줄의 코드도 작성하지 않았습니다. 또는 추가 정보가 없도록 작성하지 마십시오. 처리에는 시간이 걸립니다. :)
 
Maxim Dmitrievsky :
웹 브라우저 개체가 어떻게 유용할 수 있는지 모르겠습니다. 이 개체를 만들고 거기에 페이지를 로드하고 다음은 무엇입니까? :)) 멋진 종류. 페이지 요소에 액세스하고 코드를 작성하는 방법: "오, 흥미로운 주제지만 지금은 시간이 없습니다."와 같은 메시지를 작성하지 맙시다. 5명이 이미 작성했으며 한 줄의 코드도 작성하지 않았습니다. 또는 추가 정보가 없도록 작성하지 마십시오. 처리에는 시간이 걸립니다. :)

새로운 인용문을 받기 위해 페이지를 로드할 필요가 없다는 사실 - 메모리에 한 번 로드된 다음 내부 스크립트에 의해 업데이트됩니다.

내 프로필이 아니라 코드로 도움을 드릴 수 없습니다. 그러나 그들은 당신에게 올바르게 말합니다)

 

;)

진지하게, 왜 바퀴를 재발명합니까?

위젯은 다른 HTML 페이지와 마찬가지로 디스크에 쉽게 저장할 수 있습니다. 페이지 폴더에는 faye-client.js와 lmax-widget-quotes-v2.min.js라는 두 개의 스크립트가 있습니다.

그들은 모든 작업을 수행합니다 ...

내장 WebBrowser를 통해 페이지를 로드하여 C# 응용 프로그램과 상호 작용할 수 있습니다. 수신된 데이터가 올바른 위치에 드롭되도록 자바 스크립트를 변경한 후 로컬 사본을 로드해야 합니다...

그냥 비즈니스 ... 이러한 스크립트를 분해하고 약간 수정 ;)))

 
Andrey Ziablytsev :

;)

진지하게, 왜 바퀴를 재발명합니까?

위젯은 다른 HTML 페이지와 마찬가지로 디스크에 쉽게 저장할 수 있습니다. 페이지 폴더에는 faye-client.js와 lmax-widget-quotes-v2.min.js라는 두 개의 스크립트가 있습니다.

그들은 모든 작업을 수행합니다 ...

내장 WebBrowser를 통해 페이지를 로드하여 C# 응용 프로그램과 상호 작용할 수 있습니다. 수신된 데이터가 올바른 위치에 드롭되도록 자바 스크립트를 변경한 후 로컬 사본을 로드해야 합니다...

그 모든 비즈니스 ... 이 스크립트를 분해하고 약간 수정하십시오 ;)))

스크립트를 오른쪽으로 약간 스크롤하십시오... :) 아니요, 아직 소켓에 있습니다. 누군가가 웹 브라우저를 통해 수행한다면 아마도 작동할 것입니다. 명예와 칭찬 :)
 

내 개인 *ovnocode는 다음과 같이 보이지만 서버에 연결은 되지만 아무 것도 읽지 않습니다.

 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());
            }
        }
    }
}
 

여기 WebBrowser를 통해.

값은 읽지만 위젯 자체가 삐뚤게 그려집니다. 아마도 누군가가 고칠 것입니다.

파일:
 
Event :

여기 WebBrowser를 통해.

값은 읽지만 위젯 자체가 삐뚤게 그려집니다. 아마도 누군가가 고칠 것입니다.

오 .. nishtyak, 감사합니다. 최소한 지금 수행하는 방법에 대한 예가 있습니다.) 예, 그는 이 위젯을 포기했습니다. 일반적으로 창에서 제거할 수 있습니다. 중요한 것은 이제 따옴표를 사용할 수 있다는 것입니다)
사유: