Hatalar, hatalar, sorular - sayfa 2378

 
Renat Fatkhullin :

1. Bu arayüz.

TLS işlevleri, karmaşık durumları desteklemek için yardımcıdır. SocketTimeouts'u ayarlamakta sorun yok - en iyi kullanım onlar.


2. İşlevini doğru bir şekilde yerine getirir.

Görünüşe göre, TCP bağlantı kopması algılama sorunlarının farkında değilsiniz. Bağlantının doğru bir şekilde sonlandırılacağının garanti edildiğini tespit etmek oldukça zordur (ek çağrılar nedeniyle yoğun kaynak gerektirir). Tüm ağ uygulamaları bu sorundan muzdariptir.

SocketIsReadible uygulamamız, bağlantı kesme algılamasına sahip olacak kadar akıllıdır. Temiz bir 0 bayt ile karşılaştığında, soketin tamamlandığını kontrol etmek için fazladan bir iş yapar:

Bitmiş bayrak olmadan bayt sayısını döndürdüğünden, sonraki/yaklaşan SocketRead okuma girişiminin normal olarak başarısız olması için 1 bayt döndürür.

Neden doğru? Çünkü programcılar tarafından yazılan kodların çoğu alına şu şekilde yazılır:

aslında, işlemin sonucu doğrudan okuma girişiminde kontrol edilir.


3. Okunan verinin tam boyutunu bilmiyorsanız, gerçekten okumadan önce SocketIsReadible() yapmanız gerekir.

SocketisReadible / SocketRead bağlaması, programınızın yürütme akışı üzerinde kontrolü kaybetmeme (kontrol kaybını neredeyse sıfıra indirmek için) size fırsat verir. Bu, ağ zaman aşımlarına çarpmayı önler.

Evet, birkaç kod satırı daha, ancak (kabaca) bir milisaniye için kontrolü kaybetmezsiniz. Ağ verilerinin yokluğunda ne yapacağınıza siz karar verirsiniz.


4. İkinci paragrafta açıklanmıştır.

Okumayı teşvik etmek ve okuma hatası olarak çıkmak için 1 yayınlama.



Sonuçlarınız yanlış.

Hiçbir garantinin olmadığı TCP/IP aktarımının doğası budur. Orada, TCP sinyalinin hiçbir parçası olmadığında filtreler / güvenlik duvarları üzerindeki ağ kara deliklerine uçabilirsiniz. Zaman aşımlarının ve veri akışının ham kontrolü, bunları algılamanıza ve bağımsız olarak bağlantıları kesmenize olanak tanır.

TLS uygulamaları dahil olmak üzere ağ işlevlerine erişmek için ham/doğrudan bir arabirim verdik. Bunları kullanırsanız, ham işlevleri koruyucu / kontrollü bir SocketIsReadible / SocketRead işleyicisine doğru şekilde sarmanız gereken kişi sizsiniz.

Detayları düşünmeden üst düzey isteklerde bulunmak istiyorsanız WebRequest fonksiyonları var. Tüm korumalar yerleşiktir.

Verilen cevap için çok teşekkür ederim.

Yine de mütevazı görüşüme göre:
1. SocketRead ve SocketTlsRead işlevleri aynı eylemi gerçekleştiriyorsa, bu durumda, eşit olarak uyarlanmış arabirimlere sahip olmaları gerekir.

2. a) evet, TCP bağlantı kopması algılama sorunları hakkında hiçbir şey bilmiyorum;
b) Socket Is* fonksiyonundan, fonksiyonların isimlendirilmesine yönelik tavsiyelere uygun olarak True/False sonucu alması beklenir, ancak bir uint gibi değildir; (Bunu nerede okudum? Scott Meyers'in 2014'teki yazılarında yanılmıyorsam.)
c) TCP bağlantısı hiç kurulmamışsa (önceden İnternet yoktu veya etki alanı izin verilenler listesine eklenmemişse) SocketIsReadible'ın neden 1 değerini döndürebildiğini açıkladığınız için teşekkür ederiz.
Lütfen belgelere uygun bir açıklama da ekleyin.

3.4) Anladım, teşekkürler.

 

Herkese selam.

1940 MT5 test cihazı sürümüyle ilgili sorunu çözmek için yardım istiyorum - bu Kar olarak sayılmaz. Farklı bilgisayarlarda yüklü 3 MT5 sürümüne sahibim (bir komisyoncudan ve üreticinin web sitesinden indirdim), sonuç her yerde aynı - Kar dikkate alınmaz, test ve optimizasyon çalışmaz.

Netlik için bir video kaydettim.


 

Metin K-Meleon tarayıcısında gösterilmiyor

K-Meleon :: Главная
K-Meleon :: Главная
  • kmeleon.geckoworld.ru
На этой неделе суммарное число загрузок всех версий Pro-сборки K-Meleon (75-76 Pro) по официальным ссылкам превысило 100 000! Конечно не каждая загрузка - это новый пользователь, но ведь наш браузер раздается и на торрентах, а также разошелся по другим площадкам, откуда его тоже качают. Таким образом, мы можем уверенно говорить о том, что наше...
 
fxsaber :

Metin K-Meleon tarayıcısında gösterilmiyor

Bu ölü bir tarayıcı, muhtemelen altında bir şeyi bükmenin bir anlamı yok ...

 
Vladimir Pastushak :

Bu ölü bir tarayıcı, muhtemelen altında bir şeyi bükmenin bir anlamı yok ...

Kaynak talep etmemek.

 
fxsaber :

Kaynak talep etmemek.

Evet görüyorsunuz bazı sitelerde kullandım bir sürü sorunu var...

Vivaldi beta sürümünü deneyin, kullanışlı, hızlı, birçok kolaylık, birçok ayar, chrome uygulamalarını destekler....

 
Komut dosyamı kod tabanında güncellemeye çalıştığımda tek bir hata alıyorum
main file not found

tek MQ5 dosyası bu yolda

MQL5\Scripts\fxsaber\

Nasıl düzeltilir?


ZY "Moderatör tarafından kontrol edildi" durumu askıda kalıyor.

ZYY mq5 dosyasını basitçe Komut Dosyalarına yerleştirdi - aynı tepki.
 
fxsaber :
Komut dosyamı kod tabanında güncellemeye çalıştığımda tek bir hata alıyorum

tek MQ5 dosyası bu yolda

Nasıl düzeltilir?


ZY "Moderatör tarafından kontrol edildi" durumu askıda kalıyor.

ZYY mq5 dosyasını basitçe Komut Dosyalarına yerleştirdi - aynı tepki.
Klasörünüzü yola yazmayın.
 
Vladimir Karputov :
Klasörünüzü yola yazmayın.

"Varsayılan" seçilmesi işe yaradı. Ancak sadece bu seçenek doğru değil.

Tüm komut dosyalarını tek bir klasöre atmak çok mantıksız. En azından alt klasörler tarafından sistematizasyon olmalıdır.

 
fxsaber :

"Varsayılan" seçilmesi işe yaradı. Ancak sadece bu seçenek doğru değil.

Tüm komut dosyalarını tek bir klasöre atmak çok mantıksız. En azından alt klasörler tarafından sistematizasyon olmalıdır.

Geçenlerde tek tek klasörler hakkında soru sordum, cevap verdiler: “her şey bir demet” ve şu ana kadar değişmeyecekler.
Dahil ediciler için şiddetle gerekliyse, dosya adına “KVN” ekliyorum.