Errors, bugs, questions - page 2706

 
Sergey Dzyublik:

That's the problem, there is no logbook for the Errors tab in ME.

My inattention...

 

what is the code 556?

30 graphs with EA, on compilation some did not recover with this code, others successfully.

 
Igor Zakharov:

what is the code 556?

30 charts with EA, on compilation some did not recover with this code, the other successfully.

Error opening dip.ex5 file

Show full log, not a piece of screenshot

 
Places to include logs will try to add
 
Slava:

Error opening dip.ex5 file

Show full log, not a piece of screenshot

see attachment.

Files:
20200415.zip  5 kb
 

Can someone tell me how to friend TLS sockets with echo server? Took the source code from the example, added the headers. On port 80 it makes an upgrade, but on 443 it connects and gets a certificate, but then can't read anything from the headers. If executed under the debugger, you can see thatSocketIsReadable returns a similar number, like 245, but SocketTlsRead crashes by timeout without returning anything. Apparently, sacred knowledge from MQ is required.

Files:
 

Bug ME (build 2380) incorrect function template parameter signature in Error Description and Parameter info.

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:

Can someone tell me how to friend TLS sockets with echo server? Took the source code from the example, added the headers. On port 80 it makes an upgrade, but on 443 it connects and gets a certificate, but then can't read anything from the headers. If executed under the debugger, you can see that SocketIsReadable returns a similar number, like 245, but SocketTlsRead crashes by timeout without returning anything. Apparently, sacred knowledge from MQ is required.

I also failed to get a byte response array using HTTPRecv, for further protocol parsing.
Fails on timeout, because ping pong is not organized, but to organize it you need to get byte response from server first, andHTTPRecv function itselfcontains timeout.
But for some reason HTTPRecv doesn't parse this byte response.

 
Roman:

I've also failed to get a byte response array using HTTPRecv for further protocol parsing.
It fails on timeout, because ping pong is not organized, but to organize it you need to get byte response from server first, andHTTPRecv function itselfcontains timeout.
But for some reason HTTPRecv doesn't parse this byte reply.

It's just the connection itself. There's no ping there yet - it can happen later in the websocket protocol. The hitch happens on the server's response header when it has to acknowledge the upgrade. When no TLS is used, it connects normally. But also with TLS, it looks like header to terminal arrives, but does not return fromSocketTlsRead.

 
Stanislav Korotky:

This is just the connection itself. There's no ping there yet - it can happen later in the websocket protocol. The hitch happens on the server response header when it has to acknowledge the upgrade. When no TLS is used, it connects normally. But with TLS too, it looks like the header comes to the terminal, but doesn't return from SocketTlsRead.

Yes, I see what I mean.
Yes indeed in your code, on port 80 header returns, on 443 it doesn't.
Rewatched your code again, and didn't seeSocketTlsHandshake function there.
Your code does not perform a handshake. This may be the reason.
Although the help for this function says that it is not required if you connect to port 443.
So it's weird in general.

UPD:
No matter how I put the request header, it still gets the error

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

Or

HTTP/1.1 400 Bad Request

Maybe developer forbade receiving upgrade to TLS?


UPD:
No error with your header, but no response header either.
In theHTTPRecv functionput a print to see what's coming in.

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

It prints only one character H
This character makes me think it is the first letter of the response header,
and does not print the rest of the header for some reason.

Dear developers, could you tell us what to do?
Is it an intentional restriction, or is it an error in TLS?
I've been struggling with this problem for a long time, with no success.

Reason: