- 3
- 0
- 约8.01千字
- 约 69页
- 2015-11-19 发布于广东
- 举报
13.4.2 CSocket类介绍 CSocket类派生于CAsyncSocket,对Windows Socket API进行更高层次的封装。 (1)Create方法 Create方法用于创建一个套接字。 语法: BOOL Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, LPCTSTR lpszSocketAddress = NULL ); (2)Attach方法 Attach方法将套接字句柄关联到CSocket对象上。 语法: BOOL Attach( SOCKET hSocket ); (3)FromHandle方法 FromHandle方法根据套接字句柄获得CSocket对象指针。 语法: static CSocket* PASCAL FromHandle( SOCKET hSocket ); (4)IsBlocking方法 IsBlocking方法用于判断套接字是否处于阻塞状态。 语法: BOOL IsBlocking( ); (5)CancelBlockingCall方法 CancelBlockingCall方法用于取消阻塞模式。 语法: void CancelBlockingCall( ); 13.4.3 使用WinSock类设计网络聊天室 在18.3.3节中介绍了如何使用套接字函数设计网络聊天室,下面将使用WinSock类来设计一个网络聊天程序。 程序依然由两个实例组成,即服务器端和客户端。 服务器端接受连接并转发信息,客户端负责连接服务器,并发送信息。 (10)recv函数 recv函数用于从连接的套接字中返回数据。 语法: int recv ( SOCKET s, char FAR* buf, int len, int flags ); (11)select函数 select函数用来检查一个或多个套接字是否处于可读、可写或错误状态。 语法: int select ( int nfds, fd_set FAR * readfds, fd_set FAR * writefds fd_set FAR * exceptfds const struct timeval FAR * timeout ); (12)send函数 send函数在已经建立连接的套接字上发送数据。 语法: int send ( SOCKET s, const char FAR * buf, int len, int flags ); (13)WSAStartup函数 WSAStartup函数用于初始化WS2_32动态库。 它应该是应用程序第1个调用的Windows Socket函数,用于确定Windows Socket使用的版本。 语法: int WSAStartup (WORD wVersionRequested, LPWSADATA lpWSAData ); (14)WSACleanup函数 WSACleanup函数与WSAStartup函数是相对的,用于终止使用WS2_32动态库。 语法: int WSACleanup (void); (15)WSAAsyncSelect函数 WSAAsyncSelect函数用于将网络中发生的事件关联到窗口的某个消息中。 语法: int WSAAsyncSelect ( SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent ); 13.3.2 使用套接字函数设计网络聊天室 在13.3.1小节中笔者介绍了常用的套接字函数,接下来将利用这些套接字函数设计一个网络聊天室程序。 程序由两个实例组成,第1个实例为服务器端,负责接收用户的连接请求,并转发用户信息。 第2个实例为客户端,负责连接服务器并发送信息。 13.4 WinSock类 在Visual C++的MFC类库中,提供了两个与WinSock相关的类,分别为CAsyncSocket类和CSocket类。 13.4.1 CAsyncSocket类介绍 CAsyncSocket类对WinSock API进行了低级封装,它提供的许多方法直接对应于低层的API函
您可能关注的文档
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第1章 Visual Basic语言导引.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第2章 Visual Basic语言基础.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第3章 顺序结构程序设计.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第4章 选择结构程序设计.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第5章 循环结构程序设计.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第6章 数组.ppt
- 新Visual Basic语言程序设计及实验教程 电子教案 周建丽 第7章 过程.ppt
- 新Visual Basic语言程序设计教程 电子教案 周建丽 Visual Basic语言程序设计教程 教学课件 周建丽 6166.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch1.ppt
- 新Visual C# .NET程序设计教程 教学课件 罗福强 白忠建 杨剑 C# Ch2.ppt
原创力文档

文档评论(0)