Son derece güvenilir ticaret/sinyal kopyalayıcı (ideoloji ve gelişme tartışması) - sayfa 7
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
TAMAM. O zaman çalışan bir model olarak bir soket bağlantısı almayı öneriyorum.
Схема работы синхронизатора:
- sunucu, istemcilerle kalıcı soket bağlantıları oluşturacak
- ana müşteri, işlem etkinliği sırasında emirlerinin mevcut durumunu gönderir
- sunucu bu dosyayı kaydeder ve hemen diğer tüm istemcilere gönderir (zaten bir soket bağlantısı vardır).
- müşteri dosyayı alır ve alınan verilere göre siparişlerin durumunu değiştirir
- Ayrıca, yeni bir istemci bağlandığında, ona en son kaydedilen ana dosya gönderilir. (ilk senkronizasyon için)
Böyle bir sistemin ana avantajı trafik tasarrufudur :
- müşteriden sürekli talepler gerekli değildir. Uygunluk durumuna göre sunucudan kabul edecektir.
- benzer şekilde, ana istemci yalnızca değişiklikler algılandığında veri gönderir
İletişim kaybı koruması
- istemci, sunucuyla olan bağlantıyı kontrol etmek için her 5 saniyede bir (örneğin, 2 bayt) bir "Kalp Atışı" paketi gönderir
- başarısız gönderme durumunda (yanıt yok), istemci bağlantıyı yeniden başlatır
- sunucu aynı şeyi yapar. İstemciden 10 saniye içinde herhangi bir kontrol olmazsa, soket bağlantısı kapatılır.
Bu bağlantının herhangi bir dezavantajı var mı?
- örneğin, mümkün olan maksimum soket bağlantısı sayısı nedir?
İletişim kaybı koruması
- istemci, sunucuyla olan bağlantıyı kontrol etmek için her 5 saniyede bir (örneğin, 2 bayt) bir "Kalp Atışı" paketi gönderir
Bağlantı TCP/IP aktarım protokolü üzerinden ise bu asla yapılmaz, çünkü bağlantı soket düzeyinde otomatik olarak gerçekleştirilir, yani. işletim sistemi. Bağlantı kesilmesi durumunda, istemcide bir istisna tetiklenir ve bu durumda tam olarak ne yapılması gerektiğini işleyicisinde belirtmek gerekir. Sunucuya gelince, lambayı önemsiyor çünkü. müşteri düştüyse, bunlar zaten müşterinin sorunlarıdır.
- örneğin, mümkün olan maksimum soket bağlantısı sayısı nedir?
Bağlantı kesilmesi durumunda, istemcide bir istisna tetiklenir ve işleyicisine yazılması gerekir.
ne istisnasından bahsediyorsun
WS2_32.dll'den bahsediyorum. Sıradan Berkeley soketleri (eşzamansız bir versiyonda da olsa). Herhangi bir istisna görmedim. Bir kilitlenmeyi yalnızca göndermeyi/almayı deneyerek tespit edebilirsiniz.
ve bu porta kaç tane soket bağlantısı asılabilir?
ne istisnasından bahsediyorsun
Duc, sadece bir limana ihtiyacın var.WS2_32.dll'den bahsediyorum. Sıradan Berkeley soketleri (eşzamansız bir versiyonda da olsa). Herhangi bir istisna görmedim. Bir kilitlenmeyi yalnızca göndermeyi/almayı deneyerek tespit edebilirsiniz.
ve bu porta kaç tane soket bağlantısı asılabilir?
Bir bağlantı noktasına yalnızca bir bağlantı takılır. İstemcinin bağlanabilmesi için hangi IP'de ve sunucuda tahsis edilen port numarasını bilmesi gerekir. Veya IP yerine bir alan adı belirtebilirsiniz, soket bunu DNS aracılığıyla bir IP adresine çözecektir.
Sunucu soketi, istemcilerden bir bağlantı için bu en özel bağlantı noktasını dinliyor. İstemci yasal olduğunda, soket, üzerinde iletişimi sürdürmek için ücretsiz olanlardan oluşan havuzdan kalıcı bir bağlantı için başka bir bağlantı noktası tahsis eder. Bundan sonra, kalıcı bağlantı noktası yeniden serbest bırakılır ve diğer istemcilerden gelen bağlantıları dinler.
TCP/IP aktarım protokolü kullanılarak bağlantı bu şekilde yapılır. Bütün bunlar soket seviyesinde yapılır, yani. protokolü programlamanız gerekmez - standarttır ve işletim sistemindeki paylaşılan kitaplığa zaten programlanmıştır.
İstemci yasal olduğunda, soket, üzerinde iletişimi sürdürmek için ücretsiz olanlardan oluşan havuzdan kalıcı bir bağlantı için başka bir bağlantı noktası tahsis eder.
Yuri, boyanmış temel bilgiler için teşekkürler, ama hepsi yerinde değil. Bilgi vermiyorsun.
ve vurgulanan genellikle saçmalık, üzgünüm. Belki liman kavramını iki farklı biçimde uygularsınız, ancak o zaman kabul edilen kavramlarda çalışmak daha iyidir.
Geliştirmek için yararlı olabilir.
olası olmayan. profesyonel olmayan.
ve vurgulanan genellikle saçmalık, üzgünüm. Belki liman kavramını iki farklı biçimde uygularsınız, ancak o zaman kabul edilen kavramlarda çalışmak daha iyidir.
Dedikleri gibi, bunlar sizin kişisel sorunlarınız, liman kavramını nasıl uygulayacaksınız. TCP/IP protokolünde portların nasıl kullanıldığını az önce açıkladım. Bir kez daha, sadece protokolün standart olduğunu tekrar edeceğim, yani. Ben icat etmedim.
O zaman kendin çöz, bir şekilde bensiz.
İyi şanlar!
Ve ağ boyutunun sırası nedir, kaç müşterinin 1000, 100, 10, 1 olması gerekiyor?
Ve sonuçta, sunucunuz gerçekten binlerce istemciyle trafiği kesiyor.
Ve ağ boyutunun sırası nedir, kaç müşterinin 1000, 100, 10, 1 olması gerekiyor?
Sonuçta, sunucunuz gerçekten binlerce istemciyle trafiği kesiyor.
mesele bu. düşünmeye çalıştığım şey. Tabii ki, başlangıçta daha fazla ölçeklenebilirlik yatırımı yapmanız gerekiyor. Yani amaç 1000-h olarak yapmaktır. Ve birimlerin daha sonra kullanması önemli değil.
Bu yüzden şimdi seçmeye ve karar vermeye çalışıyorum - ya hız ya da soketli mikro trafik. Veya müşterilerin yeni bir bilgi bölümü için sürekli olarak swotting üzerinde http ve önemli trafik.