MFC网络通信程序设计——网络聊天室

这篇博客详细介绍了如何使用MFC设计和实现一个网络聊天室,包括服务器端的创建、客户端的创建以及实现客户端与服务器之间的通信。聊天室功能包括实时更新聊天信息和多用户共享信息。目前,服务器端的多客户信息显示功能尚未实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络聊天室的设计与实现的具体功能要求如下:

  1. 聊天室服务器端的创建。
  2. 聊天室客户端的创建。
  3. 实现客户与服务器的连接并通信。
  4. 实现客户端的实时更新聊天室信息。
  5. 实现服务器端当前在线多客户信息。(还未实现)
  6. 实现聊天室里的所有用户实时共享信息。

https://download.youkuaiyun.com/download/weixin_48453983/13755183

服务器

在这里插入图片描述

Caption ID
服务启动 IDOK
退出服务 IDCANCEL
发送 IDC_BUTTON1

客户机

在这里插入图片描述

Caption ID
进入聊天室 IDOK
退出聊天室 IDCANCEL
发送 IDC_SEND

消息实现

在这里插入图片描述

在这里插入图片描述

  • 服务启动:
    创建(socket)绑定(bind)套接字ServerSocket,WSAAsyncSelect设置ServerSocket异步模式,监听客户连接请求(listen),建立一个客户接收请求的链表结点。
  • 发送:
    循环遍历客户链表发送(send)字符串(buff)给连接的客户机
LRESULT CTestDlg::OnAccept(WPARAM wParam, LPARAM lParam)
//FD_ACCEPT有连接请求达到,获取请求连接的客户机,并添加到链表中
{
   
    if (WSAGETSELECTERROR(lParam))
 {
   
  list.InsertString(0,"Error detected on entry into OnServerAccept.");
  return 0L;
 }
 int nlen=sizeof(SockAddr);
 if(WSAGETSELECTEVENT(lParam) 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值