Hatalar, hatalar, sorular - sayfa 2706

 
Sergey Dzyublik :

Sorun bu, ME'de Hatalar sekmesi için günlük yok.

Benim dikkatsizliğim...

 

556 kodu nedir?

Bir uzman ile 30 çizelge, bu kodla bir bölüm derlerken geri yüklenmedi, diğeri başarılı oldu.

 
Igor Zakharov :

556 kodu nedir?

Bir uzman ile 30 çizelge, bu kodla bir bölüm derlerken geri yüklenmedi, diğeri başarılı oldu.

dip.ex5 dosyası açılırken hata oluştu

Ekran görüntüsünü değil, tam günlüğü göster

 
Günlük dahil etme yerleri eklemeye çalışalım
 
Slava :

dip.ex5 dosyası açılırken hata oluştu

Ekran görüntüsünü değil, tam günlüğü göster

Eki görmek

Dosyalar:
20200415.zip  5 kb
 

Biri bana bir yankı sunucusuyla nasıl arkadaş TLS soketi yapacağımı söyleyebilir mi? Kaynağı örnekten aldım, başlıkları bitirdim. 80 numaralı bağlantı noktasında yükseltme yapar ve 443 numaralı bağlantı noktasında bağlanır, bir sertifika alır , ancak daha sonra başlıklardan hiçbir şey okuyamaz. Hata ayıklayıcı altında çalıştırırsanız, SocketIsReadable'ın 245 gibi gerçeğe benzer bir sayı döndürdüğünü, ancak SocketTlsRead zaman aşımına uğrayarak hiçbir şey döndürmediğini görebilirsiniz. Görünüşe göre, MQ'dan gelen kutsal bilgi gerekli.

Dosyalar:
 

Bug ME (build 2380) Hata Açıklaması ve Parametre bilgisinde işlev şablonu parametresinin yanlış imzası.

 template < typename T>
class A{};

class B{
public :  
   template < typename T>
   static void test(A<T> &, A< int >* = NULL ){
       int x = 1 / 0 ;                       //'0' - division by zero |  in template 'void B::test( B:: A<T>&,A<int>*)' specified with [T=long]
   }
};

void OnStart (){
   A< long > a;
   B::test(a);                             // Parameter info: void test( [unknown] &, [unknown] *=NULL)
}
 
Stanislav Korotky :

Biri bana bir yankı sunucusuyla nasıl arkadaş TLS yuvaları yapacağımı söyleyebilir mi? Kaynağı örnekten aldım, başlıkları bitirdim. 80 numaralı bağlantı noktasında yükseltme yapar ve 443 numaralı bağlantı noktasında bağlanır, bir sertifika alır , ancak daha sonra başlıklardan hiçbir şey okuyamaz. Hata ayıklayıcı altında çalıştırırsanız, SocketIsReadable'ın 245 gibi gerçeğe benzer bir sayı döndürdüğünü, ancak SocketTlsRead zaman aşımına uğrayarak hiçbir şey döndürmediğini görebilirsiniz. Görünüşe göre, MQ'dan gelen kutsal bilgi gerekli.

Ayrıca protokolü daha fazla ayrıştırmak için HTTPRecv kullanarak yanıtın bayt dizisini alamadım.
Ping pong organize olmadığı için zaman aşımına uğrar, ancak organize etmek için önce sunucudan bir bayt yanıtı almanız gerekir ve HTTPRecv işlevinin kendisi bir zaman aşımı içerir.
Ancak bazı nedenlerden dolayı HTTPRecv bu bayt yanıtını ayrıştırmaz.

 
Roman :

Ayrıca protokolü daha fazla ayrıştırmak için HTTPRecv kullanarak yanıt bayt dizisini alamadım.
Ping pong organize olmadığı için zaman aşımına uğrar, ancak organize etmek için önce sunucudan bir bayt yanıtı almanız gerekir ve HTTPRecv işlevinin kendisi bir zaman aşımı içerir.
Ancak bazı nedenlerden dolayı HTTPRecv bu bayt yanıtını ayrıştırmaz.

Bu sadece bağlantının kendisi. Henüz ping pong yok - daha sonra websocket protokolünde olabilir. Fiş, bir yükseltmeyi onaylaması gerektiğinde sunucunun yanıt başlığında gerçekleşir. TLS kullanılmadığında iyi bağlanır. Ancak TLS ile de, terminal etrafındaki deneme başlığı gelir, ancak SocketTlsRead'den döndürülmez.

 
Stanislav Korotky :

Bu sadece bağlantının kendisi. Henüz ping pong yok - daha sonra websocket protokolünde olabilir. Fiş, bir yükseltmeyi onaylaması gerektiğinde sunucunun yanıt başlığında gerçekleşir. TLS kullanılmadığında iyi bağlanır. Ancak TLS ile de deneme başlığı terminale gelir, ancak SocketTlsRead'den döndürülmez.

Evet, neden bahsettiğini anlıyorum.
Evet, gerçekten de kodunuzda başlık 443 numaralı bağlantı noktasına değil, 80 numaralı bağlantı noktasına döndürülür.
Kodunuzu tekrar inceledim ve orada SocketTlsHandshake işlevini görmedim.
Kodunuz el sıkışma üretmiyor. Belki de durum bu.
Bu işlev için yardım, bağlantı 443 numaralı bağlantı noktasına giderse gerekli olmadığını söylese de.
Genel olarak garip.

UPD:
İstek başlığını nasıl yapmadığım önemli değil, hata hala geliyor

 ERR_NETSOCKET_IO_ERROR 5273 Ошибка отправки/получения данных из сокета

veya

HTTP/ 1.1 400 Bad Request

Belki geliştirici TLS'ye yükseltme yapmayı yasaklamıştır?


UPD:
Başlığınızda herhangi bir hata yok, ancak yanıt başlığı da yok.
HTTPRecv işlevinde, genel olarak ne olduğunu görmek için bir baskı bıraktım

result += CharArrayToString (rsp, 0 , rsp_len, CP_UTF8 );
Print (result);

Yalnızca bir H karakteri yazdırır
Sembole göre, bunun yanıt başlığının ilk harfi olduğunu varsayabiliriz,
Bazı nedenlerden dolayı, başlık içeriğinin geri kalanı görüntülenmiyor.

Sevgili geliştiriciler, nasıl olacağımı söyle?
Bu kasıtlı bir kısıtlama mı yoksa TLS'de bir hata mı?
Ben de bu sorunla uzun zamandır mücadele ediyorum ve boşuna.