基本信息
源码名称:vc++ socket聊天示例源码(含服务端以及客户端)
源码大小:90.68M
文件格式:.zip
开发语言:C/C++
更新时间:2018-01-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 4 元×
微信扫码支付:4 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
// Main.cpp : implementation file
//
#include "stdafx.h"
#include "Client.h"
#include "Main.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMain dialog
CMain::CMain(CWnd* pParent /*=NULL*/)
: CDialog(CMain::IDD, pParent)
{
//{{AFX_DATA_INIT(CMain)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_ClientSock.Create();
m_pchartdlg=NULL;
}
void CMain::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMain)
DDX_Control(pDX, IDC_LIST1, m_friendlist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMain, CDialog)
//{{AFX_MSG_MAP(CMain)
ON_LBN_DBLCLK(IDC_LIST1, OnDblclkList1)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMain message handlers
void CMain::OnReceive()
{
char buf[200];
m_ClientSock.Receive(buf,200);
CString str=buf,data;
if(str.Left(9)=="登录回复:")
{
if(m_pchartdlg!=NULL&&m_pchartdlg->visible==true)
{
m_pchartdlg->m_record.GetWindowText(data);
data=data "\n" str.Mid(9);
m_pchartdlg->m_record.SetWindowText(data);
}
}
else if(str.Left(9)=="聊天信息:")
{
if(m_pchartdlg!=NULL&&m_pchartdlg->visible==true)
{
m_pchartdlg->m_record.GetWindowText(data);
data=data "\n" str.Mid(9);
m_pchartdlg->m_record.SetWindowText(data);
}
}
}
BOOL CMain::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
this->SetWindowText("聊天客户端 " m_id);
m_friendlist.AddString("1111");
m_friendlist.AddString("2222");
m_friendlist.AddString("3333");
m_friendlist.AddString("4444");
m_friendlist.AddString("5555");
m_friendlist.DeleteString(m_friendlist.FindString(0,m_id));
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMain::OnDblclkList1()
{
// TODO: Add your control notification handler code here
CString strid;
m_friendlist.GetText(m_friendlist.GetCurSel(),strid);
if(m_pchartdlg==NULL){
m_pchartdlg=new CChartDlg;
m_pchartdlg->Create(IDD_CHART);
m_pchartdlg->ShowWindow(SW_SHOW);
}
else
MessageBox("只能打开一个聊天窗口!","提示");
}
void CMain::OnClose()
{
// TODO: Add your message handler code here and/or call default
m_ClientSock.Send("退出:" m_id ,20);
CDialog::OnClose();
}