Hello,

In my programm, client send "HELLO" message to server.

1)
-----------------------------------------------------------------------------------
SSL_write is encapsulated in MY_send( ) function like this :

MY_send(MY_cn sd, const char* data, size_t len) {
       ret = SSL_write(socki->ssl, data, len);
}

and MY_send is encapsuled in MYsend like this :

int MYApi::MYsend(SIP_cn sd, const std::string& data)
{
  return MY_send(sd, data.data(), data.size());

}

in python code, I call :

api.MYsend(sock, "HELLO")

2)
---------------------------------------------------------------------------------------
SSL_read is encapsulated in MY_recv( ) function like this :

MY_recv(MY_cn sd, char* buf,  size_t* len, unsigned int flags, unsigned int
timeout) {
         SSL_read(socki->ssl, buf, *len);
}

and MY_recv is encapsuled in MYrecv like this :

int MYApi::MYrecv(MY_cn sd, const std::string& data)
{

  strresult *r = new strresult;
  const size_t L=8*1024;
  size_t  len = L;
  char buf[L];

  r->first = MY_recv(sd, buf, &len, flags, timeout);
  if (!r->first)
    r->second.assign(buf, len);
  return r;
}

in python code, I call
err,data = api.MYrecv(cn, 0, 0)


The problem :

when I print data, I have got :
HELLO��y0�y
0�y��y
i`�0�y
������L���L��-M
etc...
instead of
HELLO.

in MYrecv, when I make L = 5, it works

what should I do to read just the right size so that when I print I get
HELLO, GOODBYE, etc ... and not HELLO��y0�y,  GOODBYE��y0�y etc ...
thanks for your help

Reply via email to