Websocket nasıl yapılır? - sayfa 23

 
Алексей Барбашин :

Böylece süreçten nasıl zevk almak istediğinizi kendiniz ifade edersiniz. Sadece anlayın: Sunucudan belirli bir mum talep edemezsiniz, sadece seçilen tarihler için bir mum aralığı talep edebilirsiniz. Yani bu çizgiler boyunca düşünün.

O zaman verileri bir dosyaya yazmak daha iyi olur. Nasıl klasör ekleyeceğimi bulamıyorum

 
bulundu, eklendi
 
Maxim Kuznetsov :

müdahale edebilir misin?

MT'den kimsenin önceden yapmak istemediği bir sınıf/arayüz?

yani, tartışılan ve yürütmeye tabi olan belirli bir TK vermek.

peki başlayalım:


class Hibou {

Hidou(string url=HIBOU_WS_URL);  // думаю почти бесспорно

~Hibou();

void DoEvent(); // веб-сокеты асинхронны, а может в тредах реализуем, будем дёргать при первой возможности

int State(); // некое текущее состояние

/// хенды по событиям протокола, вызываемые из DoEvevnt

virtual void OnConnect();  //  соеденились - зашибись

virtual void OnMessage(string json); // получили внятный Event

/// и так далее - заказчик представляет как он намерен использовать интерфейс.

/// если он этого не знает, мы за него ничего придумать не можем, клиника в руках пациентов

}

İzin verilmedi! GEREKLİ! Ne kadar çok ilgilenen insan katılırsa o kadar iyi olur!

Genellikle Açık[Etkinlik| bağlan| Message ] vb. bir olayın meydana geldiğini bildirmek için kullanılır, ancak MT'yi bilgilendirme yeteneğimiz yok, ne yazık ki böyle bir olay modeli yok, MT'ye mesaj gönderemiyoruz (((

Bu nedenle, elimizde yalnızca, örneğin, yetersiz bir zamanlayıcı ile mql'nin yanından keskinliği periyodik olarak yoklama yöntemi kaldı. ((((

Ve böylece her şey yolunda olsun... Mql yardımını okuyan herkes, olayın kuyruğa alındığına dair böyle bir ifadeyi birden fazla kez fark etti ve Renat dahil geliştiriciler, kelimenin tam anlamıyla her adımda bize tüm terminal olaylarının senkronize olduğunu ve olduğunu söylüyorlar. sırayla işlenir ve tüm sistem olayları ve terminal olayları bu aynı kuyruğa yerleştirilir ve sırayla işlenir. Bu nedenle, ilk baskıda aynı değişim mekanizmasını kullanmayı önerdim: bir kuyruk.

 

Nuget paketlerinden WebSocket4Net kütüphanesini projemize bağlıyoruz.

Soket sınıfını tanımlayın. Soketin açık olmasından sorumlu olacak olan IsOpen özelliğini ekleyelim.

Soket sınıfını kelimenin tam anlamıyla biraz süslüyor, bağlamsal ipuçları aracılığıyla gerekli kullanımı öngörüyoruz.


Ayrıca küresel yöneticiyi sonlandırıyoruz. Statik yapıcısında, onu unutmamak için hemen soketin bir örneğini oluşturacağız.


Maxim'i dinledim ve global yöneticiye belirli bir komisyoncu ile bir bağlantı yöntemi ekledim. Diğer brokerler için geliştirme olması uygun olacaktır.

Web soketini sonlandırıyoruz, soketin kendisi için olay işleyicileri oluşturuyoruz.


 
Алексей Барбашин :


Maxim'i dinledim ve global yöneticiye belirli bir komisyoncu ile bir bağlantı yöntemi ekledim. Diğer brokerler için geliştirme olması uygun olacaktır.

Üçüncü bir gözle dinliyor gibisin :-)

 
Maxim Kuznetsov :

Üçüncü bir gözle dinliyor gibisin :-)

Max, bir sınıf oluşturmayı önerdin, ancak ortak yöntemler için GlobalManager sınıfımız var ve ben yine de ayrı bir özel sınıf yaratmanın bir anlamı göremiyorum.

MT ile iletişim için arayüze gelince, gelecekte tüm yöntemlerimizi konsol modunda test ettiğimizde bir ConnectorMQL sınıfımız olacak.

Bir şeyi yanlış anladıysam, beni düzeltin, fikrinizi biraz farklı iletmeye çalışın, aceleci sonuçlar çıkarmayın.

Not Elbette, ConnectorMQL türünde yalnızca evrensel bir giriş noktası oluşturamazsınız, aynı zamanda genel yöneticiye özel komutlar gönderecek ayrı bir HuobiMQL sınıfı da yapabilirsiniz.
 
Алексей Барбашин :

Bir şey beni görmüyor sslProtocols


 
Fedor Arkhipov :

Bir şey beni görmüyor sslProtocols


Evet, her şey yolunda görünüyor, ancak altı çizili değil. Ancak satırın sonuna noktalı virgül koymanız gerekir.

 

Puanlar klasörünü ekledi ve içinde HuobiMQL sınıfını oluşturdu


Soket açma ve kapama olaylarına soket durumu özelliğinin ayarı eklendi


 
Алексей Барбашин :

Max, bir sınıf oluşturmayı önerdin, ancak ortak yöntemler için GlobalManager sınıfımız var ve ben yine de ayrı bir özel sınıf yaratmanın bir anlamı göremiyorum.

MT ile iletişim için arayüze gelince, gelecekte tüm yöntemlerimizi konsol modunda test ettiğimizde bir ConnectorMQL sınıfımız olacak.

Bir şeyi yanlış anladıysam, beni düzeltin, fikrinizi biraz farklı iletmeye çalışın, aceleci sonuçlar çıkarmayın.

tasarım tarafında: her şey çok daha basit - @Fedor Arkhipov (konu yazarı ve başlatıcı) "Tam olarak böyle olmasını istiyorum ve özellikle Hibou'ya şimdi ihtiyaç var" diyor. Ve küçük / bizden fakir ayarlamalar üzerinde anlaşmaya varıldı :-) Çünkü bütün fikrin nedenini bilen odur.

mesela pek çok dersin amacı benim için net değil ama bunlar benim hamamböceklerim...

kahretsin, buna ihtiyacın var, bu yüzden şeyi en kompakt biçimde elde ediyorsun - başvurdun, net bir cevap ve hatta bir akış aldın ve hataları sıraladın. ve Sınıflar ve Yöntemler yüzlerce hiyerarşiyle doldurulabilir :-)

Neden: