WinSockで質問ですが、以下のソースでconnectするとエラーになるのですが、
何が原因かwかったら教えていただきたいのですが・・

bool __fastcall TWinSock::Open( void )
{
  WORD vr = MAKEWORD(1, 1);
  WSADATA wd;
  // 初期化
  if( ::WSAStartup( vr, &wd ) ) return false;
  // ソケット作成
  if( (SocketHandle = ::socket( PF_INET, SOCK_STREAM, 0 )) == INVALID_SOCKET ){
    ::WSACleanup( );
    return false;
  }
  // 接続
  struct sockaddr_in sa;
  sa.sin_family = AF_INET;
  sa.sin_addr.s_addr = inet_addr("192.168.1.22");
  sa.sin_port = htons(1);
  ::ZeroMemory( sa.sin_zero, sizeof( sa.sin_zero ) );
  if( ::connect( SocketHandle, (struct sockaddr *)&sa, sizeof( sa ) ) == SOCKET_ERROR ){
    Close( );
    return false;
  }
  return true;
}