MFC Web服务器

MFC Web服务器

浏览器 = Socket程序 + http协议

服务器界面设计:并为控件添加变量

在这里插入图片描述

变量ControlValue
"服务器"IP地址控件LocalIP_
"端口"文本框localPortm_nPort(UINT)
"根目录"文本框rootdirm_strRootDir(CString)
"开启"按钮m_StartStop_
服务器状态列表控件m_StatList_
"退出"按钮m_exit_

Web服务器界面总控

1.为开始按钮添加事件处理:并为类CWebServerDlg添加类成员变量m_bStart,成员函数StartWebServer()和StopWebServer()。
在这里插入图片描述
2.在初始化对话框BOOL CWebServerDlg::OnInitDialog()里添加如下代码:

m_bStart = false;
localPort.SetWindowText("");

3.“开启”事件处理代码:

UpdateData();
	if (!m_bStart)
	{
		//StartWebServer();
		m_start.SetWindowTextA("关闭");
		LocalIP.EnableWindow(false);
		localPort.EnableWindow(false);
		rootdir.EnableWindow(false);
		m_exit.EnableWindow(false);
		m_bStart = true;
	}
	else
	{
		//StopWebServer();
		m_start.SetWindowTextA("开启");
		LocalIP.EnableWindow(true);
		localPort.EnableWindow(true);
		rootdir.EnableWindow(true);
		m_exit.EnableWindow(true);
		m_bStart = false;
	}

4.为服务器添加消息驱动动态显示日志信息:任何事件的触发都会显示在状态列表中。函数实现了时间+消息的格式。
在CWebServerDlg.h添加成员函数:

afx_msg LRESULT AddLog(WPARAM wParam, LPARAM IPatam);

在CWebServerDlg.cpp实现

//显示日志信息:
LRESULT CWebServerDlg::AddLog(WPARAM wParam, LPARAM IPatam)
{
	char szBuf[1024];
	CString *strTemp = (CString *)wParam;
	SYSTEMTIME st;
	GetLocalTime(&st);
	wsprintf(szBuf, "%02d:%02d:%02d.%03d  %s", st.wHour, st.wMinute, st.wSecond, st.wMilliseconds, *strTemp);
	m_list.AddString(szBuf);
	m_list.SetTopIndex(m_list.GetCount() - 1);
	delete strTemp;
	strTemp = NULL;
	return 0L;
}

5.此时已基本实现服务器的界面总控,演示效果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值