MFC IPAddressCtrl控件的使用

利用MFC进行网络通信离不开IP控件的操作,本例程基于VS 2017平台构建IP控件的使用例程

1、利用MFC建立对话框程序

2、在对话框界面上加载IP控件、编辑框和按键等如下图所示
在这里插入图片描述3、添加控件的变量和按键的响应函数
在这里插入图片描述4、XXDlg.cpp文件中添加程序

void CNetDlg::OnBnClickedShow()
{
	BYTE valueip[4];
	CString stringip;

	UpdateData(TRUE);
	if (m_ip.IsBlank()) //判断IP控件是否有写入
	{
		MessageBox(_T("请输出IP地址"), _T("提示"), MB_OK);
	}
	else
	{
		m_ip.GetAddress(valueip[0], valueip[1], valueip[2], valueip[3]); //获取IP控件的IP地址
		stringip.Format(_T("%d.%d.%d.%d"), valueip[0], valueip[1], valueip[2], valueip[3]); //把IP地址转换成CString类型
		//m_displayip.SetWindowText(TEXT("123") ); //输出到下方的对话框上
		m_display.SetWindowText(stringip + ":" + m_ipport);
		m_ip.SetFocus();
	}
}
void CNetDlg::OnBnClickedClear()
{
	UpdateData(TRUE);

	if (m_ip.IsBlank())
	{
		MessageBox(_T("IP地址为空"), _T("提示"), MB_OK);
	}
	else
	{
		m_ip.ClearAddress();
	}
	GetDlgItem(IDC_PORT)->SetWindowTextW(_T("")); //获取端口对话框的句柄并清除
	GetDlgItem(IDC_EDIT3)->SetWindowTextW(_T("")); //获取下方编辑框的句柄并清除
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC中,可以使用`Accept`函数接受客户端的连接请求。`Accept`函数用于服务器端,用来接受一个客户端的连接,并创建一个新的套接字对象与客户端进行通信。 以下是`Accept`函数的使用方法: ```cpp BOOL Accept( CSocket& rConnectedSocket, SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL ); ``` 其中,`rConnectedSocket`参数是一个引用,用于接收与客户端连接的套接字对象。`lpSockAddr`和`lpSockAddrLen`参数可选,用于接收客户端的地址信息。 以下是一个简单的示例代码,演示了如何在MFC使用`Accept`函数接受客户端的连接请求: ```cpp // 创建服务器套接字 CServerSocket serverSocket; serverSocket.Create(12345); // 监听端口号为12345 // 开始监听连接请求 serverSocket.Listen(); while (true) { // 接受客户端连接请求 CSocket clientSocket; if (serverSocket.Accept(clientSocket)) { // 客户端连接成功,可以与客户端进行通信 // 处理客户端请求... } } // 关闭服务器套接字 serverSocket.Close(); ``` 在上述代码中,通过调用`Accept`函数,将客户端的连接请求接受到名为`clientSocket`的套接字对象中。之后,您可以使用`clientSocket`对象与客户端进行通信。 请注意,上述代码只是一个简单示例,实际使用时可能需要进行错误处理和更全面的逻辑。同时,为了使代码更健壮,您可能需要在单独的线程中执行`Accept`函数,以便能够同时处理多个客户端连接请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值