资源简介
在VS2012下用MFC写成的简易网络聊天室程序,包含的知识点有ODBC连接MySql数据库、CSocket类的运用等,对于mfc新手是个不错的学习资源(如果项目无法在VS2012下运行,有可能是因为VS版本不匹配(由于之前是先用VS2013写的再转到VS2012),请对着项目右键,然后点属性,找到配置属性,将常规中的平台工具集选择为Visual Studio 2012 (v110),应用即可)
代码片段和文件信息
#include “stdafx.h“
#include “ClientSocket.h“
CClientSocket::CClientSocket()
{
}
CClientSocket::~CClientSocket()
{
}
//接收服务器消息的回调函数
void CClientSocket::OnReceive(int nErrorCode)
{
// TODO: 在此添加专用代码和/或调用基类
char* pData = NULL;
pData = new char[1024];
memset(pData 0 sizeof(char)* 1024);
UCHAR leng = 0;
CString str;
leng = Receive(pData 1024 0);
str = pData;
//如果服务器通知更新聊天室列表
if (-1 != strUpdate(str))
{
((ClineClientDlg *)theApp.GetMainWnd())->UpdateUsers(str strUpdate(str));
}
//否则就更新聊天窗口内容
else
{
//更新数据库中的聊天记录
try
{
((ClineClientDlg *)theApp.GetMainWnd())->updateDatabase(str);
}
catch(CException* e )
{
e->ReportError();
//delete(e);
}
CString strOld;
((ClineClientDlg *)theApp.GetMainWnd())->GetDlgItemText(IDC_EDIT_RECIEVEMSG strOld);
str = strOld + “\r\n“ + str;
// 在编辑框中显示接收到的数据
((ClineClientDlg *)theApp.GetMainWnd())->SetDlgItemTextW(IDC_EDIT_RECIEVEMSG str);
}
delete pData;
pData = NULL;
CSocket::OnReceive(nErrorCode);
}
//向服务器发送消息
bool CClientSocket::SendMSG(LPSTR lpBuff int nlen)
{
//生成协议头
if (Send(lpBuff nlen) == SOCKET_ERROR)
{
AfxMessageBox(_T(“发送错误!“));
return FALSE;
}
return TRUE;
}
int CClientSocket::strUpdate(CString str)
{
return str.Find(_T(“MUPDATEUSERLIST“));
}
相关资源
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- socket客户端.c
- socket服务端.c
- socket tcp应用
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- socket通讯c++源码(客户端+服务端)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- 仿射密码-Affine cipher
评论
共有 条评论