Borland C++ Builder 6 ошибка при использовании connect с winsock2

Ошибка при использовании connect в winsock2 Borland C++ Builder 6. В коде приведённом ниже connect возвращает integer -1. IP адрес и порт верные - дело не в firewall, поскольку созданное приложение в windows xp(без антивируса и с выключенным брандмаумером) как и в windows 10 возвращает так же -1. Если порт исправить на не существующий результат так же будет -1. Как исправить в чём дело?

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "winsock2.h"
TForm1 *Form1;
WSADATA wsaDate;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  WORD DLLVersion = MAKEWORD(2,1);
  if (WSAStartup(DLLVersion,&wsaDate) != 0) {exit(0);}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  SOCKET s;
  sockaddr_in saddr;
  int iii;

  if (INVALID_SOCKET == (s = socket(AF_INET,SOCK_STREAM,0))) {exit(0);}
  memset(&saddr,0,sizeof(saddr));//ZeorMemory(&saddr,sizeof(saddr));
  saddr.sin_family = AF_INET;
  saddr.sin_addr.S_un.S_addr = inet_addr("149.154.68.56");
  saddr.sin_port = 80;
  iii = (connect(s,(sockaddr *) &saddr,sizeof(saddr)));
  if (SOCKET_ERROR == iii){
    Memo1->Lines->Add("error");
    Memo1->Lines->Add((AnsiString)(iii));
    //exit(0);
  }
}
//---------------------------------------------------------------------------

Ответы (0 шт):