65,208
社区成员
发帖
与我相关
我的任务
分享BOOL WINAPI DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
//初始化对话框
return FALSE;
case WM_COMMAND:
//接受“按键”消息
switch(LOWORD(wParam))
{
case IDC_OPEN:
//建立一个服务器,并创建套接字,进行监听,
/*
*************这是大概代码*****************
... .... .... ....
SOCKET Listen_Socket;
bind(Listen_Socket, (SOCKADDR *)&Server_Addr, sizeof(Server_Addr));
WSAAsyncSelect(Listen_Socket, hWnd, WM_SOCKET, FD_ACCEPT);//这个时候,是否应该调用这个函数?
listen(Listen_Socket, 2); //Listen_Socket进行监听
}
*/
break;
case IDC_CLOSE:
//关闭服务器
break;
case IDC_CHOOSEFILE:
//选择一个文件,用来发送给客户端
break;
case IDC_SEND:
//点击“发送”按钮,准备发送给客户端,FD_WRITE这个发送消息该怎么写?
//是应该在处理这个按键消息时调用WSAAsyncSelect(套接字, hWnd, WM_SOCKET, FD_WRITE)这个函数?
break;
}
return TRUE;
case WM_SOCKET:
{
case FD_ACCEPT:
//与客户端建立连接
//是否应该这个时候调用WSAAsyncSelect(套接字, hWnd, WM_SOCKET, FD_WRITE)函数?
case FD_READ:
//发送文件内容给客户端
break;
... ....
}
return TRUE;
... ....
... ....
}
}BOOL WINAPI DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
//初始化对话框
return FALSE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_CONNECT:
//处理“按键”消息,与服务端建立连接
/*
*************大概代码**************
.... ..... .....
.... ..... .....
SOCKET Client_Socket;
connect(Client_Socket, (SOCKADDR *)&Server_Addr, sizeof(Server_Addr);
WSAAsyncSelect(Client_Socket, hWnd, WM_SOCKET, FD_READ);//是否应该在这里调用该函数?
*/
break;
case IDC_CLOSE:
//关闭客户端建立的连接
break;
}
return TRUE;
case WM_SOCKET:
switch(WSAGETSELECTEVENT(lParam))
{
case FD_READ:
/*
在这里有一个判断,是否打算接受服务器发送的文件
if(IDYES == MessageBox(.. .. .. ..))
{
//接受文件代码
}
*/
}
return TRUE;
case WM_CLOSE:
//关闭对话框,程序结束
return TRUE;
}
return FALSE;
}