91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 29.72MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-27
  • 語言: C/C++
  • 標(biāo)簽: C++??MFC??socket??

資源簡介

計(jì)算機(jī)網(wǎng)絡(luò)課程大作業(yè)。 使用socket編程。 實(shí)現(xiàn)P2P和群聊。 個性化MFC框架界面。 數(shù)據(jù)庫存儲方面有小的bug。 本軟件用VS2010/2013開發(fā),如遇版本問題可嘗試修改“屬性->常規(guī)->平臺工具集”解決。

資源截圖

代碼片段和文件信息

//?ClientSocket.cpp?:?implementation?file
//

#include?“stdafx.h“
#include?“MINET.h“
#include?“ClientSocket.h“
#include?“Header.h“
#include?“Dlg_LIST.h“
#include?“GROUPCHAT.h“
//?CClientSocket

CClientSocket::CClientSocket()
:m_strUserName(_T(““))
{

}

CClientSocket::~CClientSocket()
{
}


void?CClientSocket::OnReceive(int?nErrorCode)
{
//首先接受head頭
HEADER?head?;
char*?pHead?=?NULL;
pHead?=??new?char[sizeof(head)];
memset(pHead?0?sizeof(head));
Receive(pHead?sizeof(head));

head.type?=((LPHEADER)pHead)->type;
head.nContentLen?=?((LPHEADER)pHead)->nContentLen;
delete?pHead;
pHead?=?NULL;

char*?pBuff?=?NULL;
pBuff?=?new?char[head.nContentLen];
if(!pBuff)
{
AfxMessageBox(_T(“內(nèi)存不足!“));
return;
}
memset(pBuff?0??sizeof(char)*head.nContentLen);
if(head.nContentLen!=Receive(pBuff?head.nContentLen))
{
AfxMessageBox(_T(“收到數(shù)據(jù)有誤!“));
delete?pBuff;
return;
}
CString?strText(pBuff);
switch(head.type)
{
case?MSG_UPDATE:?
{
CString?strText(pBuff);
theApp.DeleteNode(strText);
((Dlg_LIST*)(AfxGetApp()->GetMainWnd()))->UpdateUserInfo(strText);
}
break;
case?MSG_SEND:
{?
//顯示接收到的消息
CString?str(pBuff);
CompareList(str);
break;
}
case?MSG_UPDATEOFFLINE:
???{
?//顯示接收到的消息
??CString?strText(pBuff);
??((Dlg_LIST*)(AfxGetApp()->GetMainWnd()))->UpdateUserOffLineInfo(strText);
???}
case?MSG_SQL:
???{
?//顯示接收到的消息
?CString?str(pBuff);
?((Dlg_LIST*)(AfxGetApp()->GetMainWnd()))->UpdateNameSign(str);
?break;
????}
case?MSG_UPDATEYOURSIGN:
???{
//顯示接收到的消息
CString?str(pBuff);
ShowYourSign(str);
break;
???}
default:?break;
}

delete?pBuff;
CSocket::OnReceive(nErrorCode);
}

BOOL?CClientSocket::SendMSG(LPSTR?lpBuff?int?nlen)
{
//生成協(xié)議頭
HEADER?head;
head.type?=?MSG_SEND;
head.nContentLen?=?nlen;

if(Send(&head?sizeof(HEADER))==SOCKET_ERROR)
{
AfxMessageBox(_T(“發(fā)送錯誤!“));
return?FALSE;
};
if(Send(lpBuff?nlen)==SOCKET_ERROR)
{
AfxMessageBox(_T(“發(fā)送錯誤!“));
return?FALSE;
};
return??TRUE;
}
BOOL?CClientSocket::SendGETYourSign(LPSTR?lpBuff?int?nlen)
{
//生成協(xié)議頭
HEADER?head;
head.type?=?MSG_UPDATEYOURSIGN;
head.nContentLen?=?nlen;

if?(Send(&head?sizeof(HEADER))?==?SOCKET_ERROR)
{
AfxMessageBox(_T(“發(fā)送錯誤!“));
return?FALSE;
};
if?(Send(lpBuff?nlen)?==?SOCKET_ERROR)
{
AfxMessageBox(_T(“發(fā)送錯誤!“));
return?FALSE;
};
return??TRUE;
}

BOOL?CClientSocket::LogoIn(LPSTR?lpBuff?int?nlen)
{
HEADER?_head;
_head.type?=?MSG_LOGOIN;
_head.nContentLen?=?nlen;
int?_nSnd=?0;
if((_nSnd?=?Send((char*)&_head?sizeof(_head)))==SOCKET_ERROR)
return?false;
if((_nSnd?=?Send(lpBuff?nlen))==SOCKET_ERROR)
return?false;

return?TRUE;
}

CString?CClientSocket::FindMSGName(CString?str)
{
CString?strTmp?strInfo_1;
int?number;
int?n?=?str.Find(‘#‘);
strTmp?=?str.Left(n);
strIn

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????1349120??2015-01-14?23:26??可執(zhí)行文件\NetChatServer.exe
?????文件????11849216??2015-01-14?23:26??可執(zhí)行文件\MINET.exe
?????目錄???????????0??2015-01-16?09:28??可執(zhí)行文件\
?????文件?????????339??2015-01-14?23:26??可執(zhí)行文件\userSQL.txt
?????目錄???????????0??2015-03-08?23:04??MINET-客戶端\
?????目錄???????????0??2015-03-08?23:04??MINET-客戶端\MINET\
?????文件????????8016??2015-01-14?23:24??MINET-客戶端\MINET\ClientSocket.cpp
?????文件?????????601??2015-01-14?23:24??MINET-客戶端\MINET\ClientSocket.h
?????文件????????4016??2015-01-14?23:24??MINET-客戶端\MINET\Dlg_CHAT.cpp
?????文件?????????888??2015-01-14?23:24??MINET-客戶端\MINET\Dlg_CHAT.h
?????文件????????7284??2015-01-14?23:24??MINET-客戶端\MINET\Dlg_LIST.cpp
?????文件????????1091??2015-01-14?23:24??MINET-客戶端\MINET\Dlg_LIST.h
?????文件????????4174??2015-01-14?23:24??MINET-客戶端\MINET\GROUPCHAT.cpp
?????文件?????????868??2015-01-14?23:24??MINET-客戶端\MINET\GROUPCHAT.h
?????文件?????????763??2015-01-14?23:24??MINET-客戶端\MINET\Header.h
?????文件?????3409424??2015-02-02?19:54??MINET-客戶端\MINET\MINET.APS
?????文件????????4463??2015-01-14?23:24??MINET-客戶端\MINET\MINET.cpp
?????文件????????1022??2015-01-14?23:24??MINET-客戶端\MINET\MINET.h
?????文件???????18042??2015-01-14?23:24??MINET-客戶端\MINET\MINET.rc
?????文件????????7107??2015-02-16?22:49??MINET-客戶端\MINET\MINET.vcxproj
?????文件????????4309??2015-01-14?23:24??MINET-客戶端\MINET\MINET.vcxproj.filters
?????文件?????????143??2015-01-14?23:24??MINET-客戶端\MINET\MINET.vcxproj.user
?????文件????????3737??2015-01-14?23:24??MINET-客戶端\MINET\MINETDlg.cpp
?????文件?????????860??2015-01-14?23:24??MINET-客戶端\MINET\MINETDlg.h
?????文件???????17656??2015-01-14?23:24??MINET-客戶端\MINET\RCa04028
?????文件???????17980??2015-02-02?19:54??MINET-客戶端\MINET\RCa05872
?????文件???????14944??2015-01-14?23:24??MINET-客戶端\MINET\RCa06968
?????文件???????14944??2015-01-14?23:24??MINET-客戶端\MINET\RCb06968
?????文件???????14944??2015-01-14?23:24??MINET-客戶端\MINET\RCc06968
?????文件????????2502??2015-01-14?23:24??MINET-客戶端\MINET\ReadMe.txt
?????文件????????2529??2015-01-14?23:24??MINET-客戶端\MINET\SETTING.cpp
............此處省略67個文件信息

評論

共有 條評論