CSocket类
CSocket类派生于CAsyncSocket,该类对套接字函数进行了更高层次的封装,并提供了同步技术,用户可以独立使用CSocket类进行套接字网络程序开发。CSocket类的主要方法如下:
(1)Create方法
该方法用于创建一个套接字,将其附加到CSocket类对象上。
语法:
BOOL Create(UINT nSocketPort=0,int nSocketType=SOCK_STREAM, LPCTSTR lpszSocketAddress= NULL );
参数说明:
nSockPort:表示套接字端口号,如果为0,MFC将自动选择一个端口。
nSocketType:表示套接字的类型,如果为SOCK_STREAM,表示流式套接字,为SOCK_DGRAM,表示数据包套接字。
lpszSocketAddress:表示套接字IP地址。
(2)Attach方法
该方法用于将一个套接字句柄附加到CSocket类对象上。
语法:
BOOL Attach( SOCKET hSocket );
参数说明:
hSocket:表示套接字句柄。
(3)FromHandle方法
该方法根据套接字句柄获得CSocket对象指针。
语法:
static CSocket* PASCAL FromHandle( SOCKET hSocket );
参数说明:
hSocket:表示套接字句柄。
返回值:函数返回CSocket对象指针。
(4)IsBlocking方法
该方法用于判断套接字是否处于阻塞模式。
语法:
BOOL IsBlocking( );
返回值:如果返回值为0,表示处于非阻塞状态,非0,表示处于阻塞状态。
(5)CancelBlockingCall方法
该方法用于取消套接字的阻塞模式。
语法:
void CancelBlockingCall( );