Поделиться через


CAsyncSocket::Connect

Эта функция-член вызывается, чтобы установить соединение с несоединенным поток или сокету датаграмм.

BOOL Connect( 
   LPCTSTR lpszHostAddress, 
   UINT nHostPort  
); 
BOOL Connect( 
   const SOCKADDR* lpSockAddr, 
   int nSockAddrLen  
);

Параметры

  • lpszHostAddress
    Сетевой адрес сокета, к которому этот объект подключения: имя компьютера в виде "ftp.microsoft.com" или предоставленный точки число как "128.56.22.8".

  • nHostPort
    Порт, определяющие приложение сокета.

  • lpSockAddr
    Указатель на структуру, содержащую подключенного SOCKADDR адрес сокета.

  • nSockAddrLen
    Длина адреса в lpSockAddr в байтах.

Возвращаемое значение

Ненулевой если функция успешно; в противном случае – значение 0, а конкретный код ошибки могут быть восстановлены путем вызова GetLastError. Если это указывает код ошибки WSAEWOULDBLOCK и приложение использует обратные вызовы переопределяемого метода, приложение получит сообщение OnConnect при завершении операции подключения. Об ошибке применяемых к данному функции-члену.

  • WSANOTINITIALISED А успешное AfxSocketInit должно произойти перед использованием этого API.

  • Реализация Windows WSAENETDOWN sockets обнаружила, что подсистема сети.

  • WSAEADDRINUSE Указанный адрес уже используется.

  • Блокирующий вызов sockets WSAEINPROGRESS a Windows.

  • WSAEADDRNOTAVAIL Указанный адрес недоступен из локального компьютера.

  • Адреса WSAEAFNOSUPPORT в указанном семействе нельзя использовать с этим гнездом.

  • WSAECONNREFUSED Попытка подключиться было отклонено.

  • Целевой адрес WSAEDESTADDRREQ а не требуется.

  • WSAEFAULT Аргумент nSockAddrLen неправильно.

  • Адрес узла WSAEINVAL недопустимыми.

  • WSAEISCONN Сокет уже подключено.

  • WSAEMFILE Больше нет идентификаторов файлов доступно.

  • WSAENETUNREACH Сеть становится недоступной из основного приложения в данное время.

  • Нет места доступно WSAENOBUFS буфера. Сокет нельзя подключиться.

  • Не WSAENOTSOCK дескриптор сокета.

  • Попытка подключиться приурочила out WSAETIMEDOUT без устанавливать соединение.

  • WSAEWOULDBLOCK Сокет помечены как nonblocking и соединение не может быть закончена немедленно.

Заметки

Если сокет несвязанный, уникальные значения присвоены к локальным ассоциации системой и сокет помечены как привязано. Обратите внимание, что если адресное пространство имен все структуры равны нулю, то Подключить вернет нуль. Чтобы получить расширенные сведения об ошибке, вызовите функцию-член GetLastError.

Для сокетов потока (типа SOCK_STREAM), проведено активное соединение с чужому узлу. Когда вызов сокета завершается успешно, сокет готово отправлять и получает данные.

Для сокета датаграмм (типа SOCK_DGRAM) устанавливается назначение по умолчанию, которая будет использоваться на последующих Отправить и вызовах Получить.

Требования

Header: afxsock.h

См. также

Ссылки

Класс CAsyncSocket

Диаграмма иерархии

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect