Aracılığıyla paylaş


CAsyncSocket::Accept

Bir yuva bağlantı kabul etmek için bu üye işlevini çağırın.

virtual BOOL Accept(
   CAsyncSocket& rConnectedSocket,
   SOCKADDR* lpSockAddr = NULL,
   int* lpSockAddrLen = NULL 
);

Parametreler

  • rConnectedSocket
    Bağlantı için kullanılabilir yeni bir yuva tanımlayan bir başvuru.

  • lpSockAddr
    Bir işaretçi bir sockaddr bağlantı adresi alır yapısı soket ağda bilinen gibi.Tam biçimi, lpSockAddr bağımsız değişkeni, yuva oluşturulduğunda kurulan adres ailesi tarafından belirlenir.lpSockAddr Ve/veya lpSockAddrLen eşit olduğu null, uzak adres hakkında hiçbir bilgi kabul edilen yuva verilir.

  • lpSockAddrLen
    Adresi uzunluğunu gösteren bir işaretçi lpSockAddr bayt.lpSockAddrLen Sonuç değeri parametre: başlangıçta göre sıralanmasını büyüklüğünü içermesi gereken lpSockAddr; geri döndürülen adres gerçek uzunluğunu (bayt cinsinden) içerecektir.

Dönüş Değeri

Sıfır olmayan bir değer işlevi başarılı olursa; Aksi halde 0 ve belirli bir hata kodu çağırarak alınabilir GetLastError.Aşağıdaki hatalar bu üye işlev için geçerlidir:

  • WSANOTINITIALISED başarılı bir AfxSocketInit Bu API kullanmadan önce gerçekleştirilmelidir.

  • wsaenetdown Windows Sockets başlatılmasının algılanan ağ alt sistemi başarısız oldu.

  • wsaefaultlpSockAddrLen bağımsız değişkeni çok küçük (boyutunu küçük bir sockaddr yapısı).

  • WSAEINPROGRESS engelleyen bir Windows Sockets çağrı sürüyor.

  • WSAEINVAL   Listenkabul etmek için çağrılan önceki değildi.

  • WSAEMFILE kabul etmek için giriş sırasında kuyruk boştur ve hiçbir tanımlayıcıları vardır.

  • WSAENOBUFSArabellek alanı kullanılabilir.

  • wsaenotsock bir soket tanımlayıcısı değil.

  • wsaeopnotsupp başvurulan soket bağlantı yönelimli hizmetini destekleyen bir tür değil.

  • wsaewouldblock yuva işaretlenmiş olarak yapmayan ve kabul edilmesi için hiçbir bağlantı yok.

Notlar

Bu yordam Beklemedeki bağlantı sıradaki ilk bağlantı ayıklar, bu yuva olarak aynı özelliklere sahip yeni bir yuva oluşturur ve ekler rConnectedSocket.Sırada bekleyen bağlantı yok varsa kabul sıfır döndürür ve GetLastError bir hata döndürür.Kabul edilen yuva (rConnectedSocket) daha fazla bağlantıları kabul edecek şekilde kullanılamaz.Özgün yuva dinleme ve açık kalır.

Bağımsız değişken lpSockAddr yuva bağlantı adresi ile dolu bir sonuç iletişim katmanı bilinen parametresidir.Kabul ile bağlantı tabanlı soket türleri gibi kullanılan sock_stream.

Gereksinimler

Başlık: afxsock.h

Ayrıca bkz.

Başvuru

CAsyncSocket sınıfı

Hiyerarşi grafik

CAsyncSocket::Bind

CAsyncSocket::Connect

CAsyncSocket::Listen

CAsyncSocket::Create

WSAAsyncSelect