Export (0) Print
Expand All

CSocket::Attach 

Call this member function to attach the hSocket handle to a CSocket object.


BOOL Attach(
   SOCKET hSocket 
);

Parameters

hSocket

Contains a handle to a socket.

Nonzero if the function is successful.

The SOCKET handle is stored in the object's m_hSocket data member.

For more information, see Windows Sockets: Using Sockets with Archives.

// ...
class CSockThread : public CWinThread
{
// ... Other function and member declarations
protected:
  CSocket m_sConnected;
};

SOCKET hConnected;

BOOL CSockThread::InitInstance()
{
   // Attach the socket object to the socket handle
   // in the context of this thread.
   m_sConnected.Attach(hConnected);

   return TRUE;
}

// This listening socket has been constructed
// in the primary thread.
void CListeningSocket::OnAccept(int nErrorCode)
{
   // This CSocket object is used just temporarily
   // to accept the incoming connection.
   CSocket sConnected;
   Accept(sConnected);

   // Detach the newly accepted socket and save
   // the SOCKET handle.
   hConnected = sConnected.Detach();

   // After detaching it, it should no longer be
   // used in the context of this thread.

   // Start the other thread.
   AfxBeginThread(RUNTIME_CLASS(CSockThread));
}

Community Additions

ADD
Show:
© 2014 Microsoft