recv():常量对象不能作为var参数传递(在此函数的第二个arg上)

时间:2019-04-29 18:16:43

标签: sockets delphi winsock delphi-10-seattle recv

我需要制作以下C代码的Delphi版本,现在出现错误,提示“不允许”:值为PByte + a {{1 }}值,传递给Integer函数的第二个参数。

您对可能的解决方案有一些想法吗?

这是C版本:

recv()

这是我的尝试:

DWORD size;
BYTE *data = (BYTE *) malloc(size);
int   totalRead = 0;
do
{
  int read = recv(s, (char *) data + totalRead, size - totalRead, 0);
  if(read <= 0)
     goto exit;
  totalRead += read;
} while(totalRead != size);

1 个答案:

答案 0 :(得分:3)

'__DYNAMIC:1__' => [
  'host' => '__DEFAULT__',
  'privatekey' => 'example.org.pem',
  'certificate' => 'example.org.crt',
  'auth' => 'example-multi',
],