Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Yapacağımız şey bu :)
winsock.dll hakkında sadece bir konuşma var.
Bu, kendi yazdığınız lib'lerinizi kullanmanın istenmeyen olduğu anlamına gelir. ve sorunsuz vidalayın.
Zor değilse, bağlantıları veya kodları sınıfsız (sarmalayıcılar) paylaşın. tercihen temiz bir API.
Evet, genel olarak, mesele zor değil. Bir ws2_32.dll kitaplığınız var ve ondan işlevleri içe aktarıyorsunuzint WSAStartup, WSACleanup, socket, bind, connect, dinle, kabul et, recv, send, closesocket.
Görünüşe göre bu hem istemci hem de sunucunun çalışması için yeterli olmalı (bir şeyi kaçırmış olabilirim, bkz. MSDN). Peki, o zaman ne yapılacağı zaten açık gibi görünüyor, aynı MSDN'den bir örnek alıp µl'ye çeviriyorsunuz. Yalnız bu pek iyi gitmeyecek, sırasıyla bloklama soketlerini kullanacaksınız, akış kalkacak ve sunucu üzerinde işleyemeyeceksiniz.
Только не очень хорошо получится, ты будешь использовать блокирующие сокеты соответственно поток у тебя встанет и обработку ты не сможешь вести на сервере.
bu yerden daha ayrıntılı olarak. :)
1. Engelleme ne kadar sürer?
2 bu kilit neyi etkiler
2. engelleme olmadan alternatif.
genel olarak, soketlerle çalışma pratiği vardır (dağıtılmış hesaplama geliştirdim, ancak api yöntemleriyle değil, MFC sınıflarıyla)
sunucuyu (yani iş gönderici bilgisayarı) engellemede herhangi bir sorun yoktu ve bundan haberi bile yoktu.
hangi durumlarda ortaya çıkabilir?
Bunu ne kadar anladım senkron erişim meselesi.
bu yerden daha ayrıntılı olarak. :)
1. Engelleme ne kadar sürer?
2 bu kilit neyi etkiler
2. engelleme olmadan alternatif.
genel olarak, soketlerle çalışma pratiği vardır (dağıtılmış hesaplama geliştirdim, ancak api yöntemleriyle değil, MFC sınıflarıyla)
sunucuyu (yani iş gönderici bilgisayarı) engellemede herhangi bir sorun yoktu ve bundan haberi bile yoktu.
hangi durumlarda ortaya çıkabilir?
Doğrudan veya MFC üzerinden çalışmak fark etmez, hepsi aynı, kökler ws2_32.dll'ye gider. Engelleme soketleri kullanırsanız, sunucu sürekli olarak bağlantı noktasını dinler ve buna göre akış her zaman engellenir. Ne yazık ki, µl'de çoklu iş parçacığı gözlemlenmez ve beklenmez, bu nedenle bu sorun, kendi kendine yazılan bir lib dışında atlanamaz. Doğal olarak, müşteri ile ilgili herhangi bir sorun olmayacaktır. Dolayısıyla, yalnızca MT'den üçüncü taraf bir uygulamaya veri gönderirseniz, onu saf bir api kullanarak uygulamak oldukça mümkündür.Bunu ne kadar anladım senkron erişim meselesi.
Evet kesinlikle. Asenkron çalışma için, MCL'nin yetenekleri açıkça yeterli değildir.
Engelleme soketleri kullanırsanız, sunucu sürekli olarak bağlantı noktasını dinler ve buna göre akış her zaman engellenir.yani, soketin sonsuz bir dinleme döngüsüne girmesi nedeniyle MT veya EA iş parçacığının çalışması engellenecek mi?
dinlemekle mi ilgili
MT konusunda bu kadar katı olmayın, bazı çoklu kullanım hala mevcuttur - göstergeler terminal dizisinde çalışır ve Uzman Danışmanlar ve komut dosyaları kendi ayrı dizilerinde çalışır.
İşte ticaret emirlerinin kanalı - bir. böylece danışman terminali yavaşlatmaz veya standart bir 2,5 dakika sonra terminalden bir zaman aşımı alır...