Sdílet prostřednictvím


CAsyncSocket::Create

Volání vytvořit členské funkce po vytvoření soketu objekt vytvořit Windows socket a připojit ji.

BOOL Create( 
   UINT nSocketPort = 0, 
   int nSocketType = SOCK_STREAM, 
   long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE, 
   LPCTSTR lpszSocketAddress = NULL  
);

Parametry

  • nSocketPort
    Čísla portů pro použití s soketu nebo 0, pokud chcete, aby systém Windows Sockets vyberte port.

  • nSocketType
    SOCK_STREAM nebo SOCK_DGRAM.

  • lEvent
    Maskování bitů, které určuje kombinaci události sítě, ve kterých aplikace zájem.

    • FD_READ chcete obdržet oznámení o připravenosti pro čtení.

    • FD_WRITE chcete obdržet oznámení o připravenosti pro zápis.

    • FD_OOB chcete obdržet oznámení o doručení dat out-of-band.

    • FD_ACCEPT chcete obdržet oznámení o příchozí připojení.

    • FD_CONNECT chcete obdržet oznámení o dokončení připojení.

    • FD_CLOSE chcete obdržet oznámení o uzavření soketu.

  • lpszSockAddress
    Ukazatel na řetězec obsahující síťovou adresu připojeného soketu tečkovaný číslo, například "128.56.22.8".Předávání NULL řetězce pro tento parametr označuje, CAsyncSocket instance by měla naslouchat aktivity klienta na všech síťových rozhraních.

Vrácená hodnota

Nenulová hodnota, pokud je funkce úspěšná. v opačném případě 0 a chybový kód může být načten voláním došlo k chybě.Tyto chyby se týkají tuto členskou funkci:

  • WSANOTINITIALISED úspěšnému AfxSocketInit se může vyskytovat před použitím tohoto rozhraní API.

  • WSAENETDOWN implementace rozhraní Windows Sockets zjistil, že se nezdařilo síťového podsystému.

  • WSAEAFNOSUPPORT řady zadaná adresa není podporován.

  • WSAEINPROGRESS probíhá blokující operace rozhraní Windows Sockets.

  • WSAEMFILE jsou k dispozici žádné další popisovače souboru.

  • WSAENOBUFSVyrovnávací paměť není k dispozici.Nelze vytvořit soket.

  • WSAEPROTONOSUPPORT zadaný port není podporován.

  • WSAEPROTOTYPE zadaný port je chybného typu pro tento soket.

  • WSAESOCKTNOSUPPORT určený typ soketu není podporován v této rodině adres.

Poznámky

Vytvořit volání soketu a v případě úspěchu volá vazby vytvořit vazbu soketu na zadanou adresu.Jsou podporovány následující typy soketů:

  • SOCK_STREAM seřazeny, poskytuje spolehlivý, plně duplexní připojení založené na bajt proudy.Používá protokol TCP (Transmission Control) rodině adres sítě Internet.

  • SOCK_DGRAM podporuje datagramy, které jsou nespojovaného paketů pevné délky maximální (obvykle malé).Používá protokol UDP (User Datagram) rodině adres sítě Internet.

    [!POZNÁMKA]

    Přijmout členské funkce vytvoří odkaz na novou, prázdnou CSocket objekt jako svůj parametr.Je nutné vytvořit tento objekt před voláním přijmout.Pamatujte, je-li tento objekt soketu zhasne oboru, ukončí připojení.Nevolejte vytvořit pro tento nový objekt soketu.

Důležitá poznámkaDůležité

Vytvořit je Ne vláken.Pokud voláte ji v prostředí s více podprocesy kde jej může vyvolat současně různých podprocesů, je třeba chránit každého volání s mutex nebo jiných lock synchronizace.

Další informace o proudu a datagram soketů naleznete v článcích rozhraní Windows Sockets: pozadí a rozhraní Windows Sockets: porty a adresy soketu a Rozhraní API Windows Sockets 2.

Požadavky

Záhlaví: afxsock.h

Viz také

Referenční dokumentace

Třída CAsyncSocket

Graf hierarchie

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::Connect

CAsyncSocket::GetSockName

CAsyncSocket::IOCtl

CAsyncSocket::Listen

CAsyncSocket::Receive

CAsyncSocket::Send

CAsyncSocket::ShutDown