MFC+WinSock程序的一般步骤

1.在MFC创建向导中选择支持WinSock

2.不用调用WSAStatup函数

3.服务器和客户端的程序书写和控制台基本相同,以客户端为例

3.1 在CServerDialog.h中声明变量sockaddr_in server_addr, client_addr; socket listen, connect;

3.2 在CServerDialog.cpp中CDialog::OnInitDialog里初始化各变量,并调用bind和listen

3.3 确定WinSock是异步调用模式,调用WSAAsynSelect,四个参数:待关联套接字对象,待关联窗口对象,待关联自定义消息如WM_SOCKET,消息类型

其中消息类型有多种,如FD_ACCEPT, FD_READ等。消息类型将作为参数lParam传递给自定义的消息处理函数OnSocket

3.4 在CServerDialog.h中#define WM_SOCKET WM_USER+[offset, e.g. 1000] 

3.5 在CServerDialog.h中添加WM_SOCKET的处理函数的声明,例如 LRESULT OnSocket(WPARAM wParam,LPARAM lParam)

3.6 在CServerDialog.h添加WM_SOCKET与OnSocket的映射

3.7.在CServerDialog.cpp中编写OnSocket函数的具体实现,根据lParam的类型编写相应的处理逻辑,对于多种消息类型,使用switch

3.8 对于发送消息,在按键消息处理函数中,使用连接套接字,本例中也就是

       connect = accept(listen,...);

       send(connect,...);

4.不需要显式Close套接字对象

           

             

     

你可能感兴趣的:(软工记)