-
大小: 27.74MB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2023-07-11
- 語言: C/C++
- 標(biāo)簽:
資源簡(jiǎn)介
這是一個(gè)MFC聊天室程序的一部分,是服務(wù)器端程序,使用VS2010+CSocket編寫。啟動(dòng)服務(wù)器端之后,可以實(shí)現(xiàn)和客戶端端登陸連接,連接之后客戶端之間可以收發(fā)消息。如果同時(shí)打開多個(gè)客戶端程序并登陸連接服務(wù)器端,那么此時(shí)這幾個(gè)客戶端程序可以正常聊天。因?yàn)槌绦蛭募^大,客戶端和服務(wù)器端只能分開上傳,請(qǐng)大家諒解。客戶端程序請(qǐng)見我的另一個(gè)資源。
代碼片段和文件信息
#include?“stdafx.h“
#include?“DefPersonal.h“
#include?“CPublic.h“
#include?“ServerDlg.h“
/***************CListenSocket**********************/
CListenSocket::CListenSocket()
{
}
CListenSocket::~CListenSocket()
{
}
BOOL?CListenSocket::Init(UINT?portCServerDlg?*?dlg)
{
m_uPort?=?port;
m_dlg?=?dlg;
if?(Create(m_uPort)==FALSE)
{
AfxMessageBox(_T(“Server?Socket?Create?Error“));
return?FALSE;
}
if(this->Listen(MaxPort)==FALSE)
{
AfxMessageBox(_T(“Server?Listen?Error“));
return?FALSE;
}
m_dlg->SetDlgItemText(IDC_EDIT1_T(“服務(wù)器處于監(jiān)聽狀態(tài)!“));
return?TRUE;
}
void?CListenSocket::OnAccept(int?nErrorCode) //如果有服務(wù)器請(qǐng)求連接會(huì)自動(dòng)調(diào)用該函數(shù)
{
m_dlg->ServerAccept();
CSocket::OnAccept(nErrorCode);
}
/**************************************************/
/***************CCommSocket************************/
CCommSocket::CCommSocket(CPtrList*??list)
{
m_pList??=?list;
}
CCommSocket::~CCommSocket()
{
}
BOOL?CCommSocket::Init(CServerDlg?*?dlg)
{
m_cdlg?=?dlg;
return?TRUE;
}
void?CCommSocket::OnReceive(int?nErrorCode)
{
int?nlen?=?sizeof?HEADER;
char?*pHead?=?NULL;
pHead?=?new?char[nlen];
memset(pHead0sizeof(char)*nlen);
if(Receive(pHeadnlen)!=nlen)
{
AfxMessageBox(_T(“接收數(shù)據(jù)有誤!“));??
delete?pHead;??
return;?
}
//HEADER?head;
//head.nContentLength?=?((LPHEADER)pHead)->nContentLength;
//head.cmd?=?((LPHEADER)pHead)->cmd;
//USES_CONVERSION;
//CString?s?=?A2T(((LPHEADER)pHead)->msg);
//AfxMessageBox(s);
POSITION?ps?=?m_pList->GetHeadPosition();
while?(ps!=NULL)
{
CCommSocket*?pTemp?=?(CCommSocket*)m_pList->GetNext(ps);
pTemp->Send(pHeadnlen);
}
delete?pHead;
CSocket::OnReceive(nErrorCode);
}
/**************************************************/
///**************************************************/
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????162816??2014-09-09?11:18??Server\Debug\Server.exe
?????文件????1141332??2014-09-09?11:18??Server\Debug\Server.ilk
?????文件????5819392??2014-09-09?11:18??Server\Debug\Server.pdb
?????文件???96337920??2014-09-09?11:23??Server\ipch\server-47516096\server-2e75de63.ipch
?????文件????????229??2014-05-13?20:23??Server\Server\CPublic.h
?????文件???????3098??2014-09-09?11:18??Server\Server\Debug\cl.command.1.tlog
?????文件??????91318??2014-09-09?11:18??Server\Server\Debug\CL.read.1.tlog
?????文件???????2624??2014-09-09?11:18??Server\Server\Debug\CL.write.1.tlog
?????文件??????34679??2014-09-09?11:18??Server\Server\Debug\DefPersonal.obj
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件??????????2??2014-09-09?11:18??Server\Server\Debug\li
?????文件???????2526??2014-09-09?11:18??Server\Server\Debug\li
?????文件???????8048??2014-09-09?11:18??Server\Server\Debug\li
?????文件???????1310??2014-09-09?11:18??Server\Server\Debug\li
?????文件????????766??2014-09-09?11:18??Server\Server\Debug\mt.command.1.tlog
?????文件????????552??2014-09-09?11:18??Server\Server\Debug\mt.read.1.tlog
............此處省略48個(gè)文件信息
評(píng)論
共有 條評(píng)論