基于CSocket编程的C++多人聊天室,使用MFC,C/S,服务端可以看到在线人数
代码片段和文件信息
// Chat.cpp : 实现文件
//
#include “stdafx.h“
#include “客户端.h“
#include “Chat.h“
#include “afxdialogex.h“
// CChat 对话框
IMPLEMENT_DYNAMIC(CChat CDialogEx)
CChat::CChat(CWnd* pParent /*=NULL*/)
: CDialogEx(CChat::IDD pParent)
m_receiveMsg(_T(““))
m_sendMsg(_T(““))
{
}
CChat::~CChat()
{
}
void CChat::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX IDC_RECEIVEMSG m_receiveMsg);
DDX_Text(pDX IDC_SENDMSG m_sendMsg);
DDX_Control(pDX IDC_RECEIVEMSG m_receiveCtrl);
}
BEGIN_MESSAGE_MAP(CChat CDialogEx)
ON_BN_CLICKED(IDC_SEND &CChat::OnBnClickedSend)
ON_BN_CLICKED(IDC_CANCEL &CChat::OnBnClickedCancel)
ON_WM_CLOSE()
END_MESSAGE_MAP()
// CChat 消息处理程序
void CChat::OnBnClickedSend()
{
// TODO: 在此添加控件通知处理程序代码
CTime time;
time = CTime::GetCurrentTime(); //获取现在时间
CString strTime = time.Format(“%Y-%m-%d %H:%M:%S “);
theApp.head.type = 3;
UpdateData(true);
m_receiveMsg += strTime + (CString)“(“ + theApp.m_userID + (CString)“) “ + theApp.m_userNAME + (CString)“
“ + m_sendMsg + (CString)“
“;
CHead Msg;
Msg.type = 3;
strcpy_s(Msg.fromID(CStringA)theApp.m_userID);
strcpy_s(Msg.usermsg.NAME(CStringA)theApp.m_userNAME);
strcpy_s(Msg.usermsg.ID(CStringA)theApp.m_userID);
strcpy_s(Msg.toID(CStringA)m_toID);
strcpy_s(Msg.iptheApp.head.ip);
strcpy_s(Msg.msg(CStringA)m_sendMsg);
m_sendMsg = ““;
UpdateData(false);
m_receiveCtrl.LineScroll(m_receiveCtrl.GetLineCount()-1);
theApp.m_tcp->Send(&Msgsizeof(Msg));
}
void CChat::OnBnClickedCancel()
{
// TODO: 在此添加控件通知处理程序代码
OnClose();
CDialogEx::OnCancel();
}
BOOL CChat::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
m_caption =(CString)“正与(“ + m_toID + (CString)“) “ + m_name + (CString)“ 聊天中“;
SetWindowTextW(m_caption);//设置对话框标题
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CChat::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
theApp.m_userMsg.erase(m_toID);
CDialogEx::OnClose();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)