📄 d072.bmp.txt
字号:
int PASCAL FAR WSAAsyncSelect(SOCKET s, HWND hWnd, unsigned int wMsg,long IEvent);
此函数用来请求Windows Sockets DLL为窗口句柄发一条消息。无论它何时检测到由
lEvent参数指明的网络事件,都由专门的消息处理函数来处理。要发送的消息由wMsg参数
标明,被通知的套接字由s标识。本函数自动将套接字的相关事件设置为非阻塞模式。
3.2.2开发步骤
在Internet上的聊天室程序一般都是以服务器提供服务端连接响应,使用者通过客户端
程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过
程。因此,程序要在TCPfIP环境下实现服务器端和客户端两部分程序。
(1)准备
通过MFC AppWizard建立了一个基于对话框的工程ChatRoom,并将其保存。
在Visual C++中进行WJNSOCK的API编程开发,需要使用WINSOCK.H、WSOCK32.LIB
和WINSOCK.DLL三个文件。其中,WINSOCK.H是WINSOCK API的头文件,将它包含
在需要使用WINSOCK API的文件中,本实例将其包合在ChatRoomDlg.cpp文件中。
WINSOCK.DLL是WINSOCK的动态连接库,位于WINDOWS的安装目录下。WSOCK32.LIB
是WINSOCK API连接库文件。在使用中,一定要把它作为项目的非默认的连接库包含到项
目文件中去,如图3-3所示。
图3-3 加入WSOCK32.LIB的示意图
(2)界面设计
利用界面编辑器修改对话框,修改后的界面如图3-4所示。在界面上添加一个List控件,
用来接收来自服务器以及其他用户发来的信息;添加一个Edit控件做信息输入控件;用两个
单选按钮(Radio Button)来选择程序是作为服务器运行还是作为客户机运行;添加一个IP
控件和一个Edit控件用来输入要连接服务器的IP地址和端口号(仅在做客户机时有效)。具
体控件属性设置如表3-1所示。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -