基本信息
源码名称:vc++ socket聊天示例源码(含服务端以及客户端)
源码大小:90.68M
文件格式:.zip
开发语言:C/C++
更新时间:2018-01-07
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 4 元 
   源码介绍

// 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();
}