On finestre: guardare WSAAccept, può essere che è quello che ti serve:
SOCKET WSAAccept(
__in SOCKET s,
__out struct sockaddr *addr,
__inout LPINT addrlen,
__in LPCONDITIONPROC lpfnCondition,
__in DWORD dwCallbackData
);
lpfnCondition - l'indirizzo di una funzione condizione di applicazione specificato opzionale che farà un accetta/rifiuta decisione in base alle informazioni sul chiamante trasmesse come parametri e facoltativamente creare o unire un gruppo socket assegnando un valore appropriato al parametro g di risultato di questa funzione. Se questo parametro è NULL, non viene chiamata alcuna funzione di condizione.
Per linux soluzione: GNU Common C++ - classe TCPSocket, ha metodi onAccept() e reject().
virtual bool TCPSocket::onAccept ( const InetHostAddress & ia,
tpport_t port
) [inline, protected, virtual]
Un metodo da chiamare in una classe derivata TCPSocket che funge da un server quando viene accettata una richiesta di connessione.
Il server può implementare regole specifiche del protocollo per escludere il socket remoto dall'accettazione restituendo false. Il metodo Peek può essere utilizzato anche per questo scopo.
Tuttavia, si può solo vicino presa dopo accettato se pre-condizione è falsa :)
fonte
2009-07-12 15:34:05
potresti aggiungere tag per quale lingua usi? Non sono un esperto di Sockets, ma ho un po 'di esperienza con Actionscript e C# /. NET – BerggreenDK
E anche il sistema operativo ... Windows vs Unix potrebbe fare una grande differenza qui. Non penso che esista una soluzione portatile, ma potrei sbagliarmi. –