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

  • 大小: 143KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: C/C++
  • 標簽: 仿QQ??MFC??C++??

資源簡介

說明:   類似于QQ的局域網聊天軟件,包括服務器端和客戶端程序,采用tcp/ip socket多線程編程,服務器端主要負責客戶端用戶的注冊登陸,用戶資料的獲取。客戶端負責與其他客戶端進行信息控制與傳遞(包括聊天和傳送文件)。 a、采用tcp非udp的socket編程,保證傳輸的穩定性和實時性。 b、在同步操作時大多數采用了多線程和超時控制。例如:在傳送文件的同時能繼續聊天。 c、服務器只負責用戶登陸,查詢,修改用戶的基本信息和實時的在線用戶列表。而不參與客戶端之間的信息傳遞。 d、每個客戶端既是聊天的發起端,又是接收端,實現了多點同時聊天和傳送文件。

資源截圖

代碼片段和文件信息

//?ChatDlg.cpp?:?implementation?file
//

#include?“stdafx.h“
#include?“NetMsgClient.h“
#include?“ChatDlg.h“

#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif



/////////////////////////////////////////////////////////////////////////////
//?CChatDlg?dialog


CChatDlg::CChatDlg(CWnd*?pParent?/*=NULL*/)
:?CDialog(CChatDlg::IDD?pParent)
{
//{{AFX_DATA_INIT(CChatDlg)
m_strMsg?=?_T(““);
m_strShowMsg?=?_T(““);
//}}AFX_DATA_INIT
}


void?CChatDlg::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CChatDlg)
DDX_Control(pDX?IDC_PROGRESS?m_progressFile);
DDX_Text(pDX?IDC_MSG?m_strMsg);
DDX_Text(pDX?IDC_EDIT_SHOWMSG?m_strShowMsg);
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CChatDlg?CDialog)
//{{AFX_MSG_MAP(CChatDlg)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_SENDMSG?OnSendmsg)
ON_BN_CLICKED(IDC_SHOWINFO?OnShowinfo)
ON_BN_CLICKED(IDC_SENDFILE?OnSendfile)
ON_BN_CLICKED(IDC_STOPFILE?onstopfile)
ON_BN_CLICKED(IDC_BUTTON_CLEARMSG?OnButtonClearmsg)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
//?CChatDlg?message?handlers

BOOL?CChatDlg::OnInitDialog()?
{
CDialog::OnInitDialog();

//?TODO:?Add?extra?initialization?here

m_showUserInfoDlg.Create(IDD_SHOWUSERINFO_DIALOG);
GetDlgItem(IDC_MSG)->SetFocus();
m_nListCount=0;
isUsing?=?FALSE;
isChating?=?FALSE;

m_progressFile.SetPos(0);

return?TRUE;??//?return?TRUE?unless?you?set?the?focus?to?a?control
??????????????//?EXCEPTION:?OCX?Property?Pages?should?return?FALSE
}


//如果是主動聊天形式,在發送信息時建立與對方用戶msg服務器的連接
void?CChatDlg::OnSendmsg()?
{
UpdateData(TRUE);
if(m_strMsg?==?_T(““))
{
AfxMessageBox(“發送消息不能為空“);
GetDlgItem(IDC_MSG)->SetFocus();
return;
}

if(isChating?==FALSE)
{
if(ConnectServerMsg()?==?FALSE)
{
GetDlgItem(IDC_MSG)->SetFocus();
return;
}
}
????
//連接已經建立好可以收發消息了
char?buff[MAX_BUFF_SIZE];
CString?strtitle;
strtitle.Format(“與%s正在聊天中...“m_strTargetNickname);
this->SetWindowText(strtitle);
memset(buff0sizeof(buff));
strcpy(buffm_strMsg);
if(send(m_cliSocketbuffsizeof(buff)0)?==?SOCKET_ERROR)
{
closesocket(m_cliSocket);
isChating?=?FALSE;
return;
}

ShowMsg(m_strLocalNicknamem_strMsg);
GetDlgItem(IDC_MSG)->SetFocus();
BeginRecvMsg();

}


//連接信息服務器
BOOL?CChatDlg::ConnectServerMsg()
{
SOCKET?cliSock;
SOCKADDR_IN?inetAddr;
????if?((cliSock?=?socket?(AF_INET?SOCK_STREAM?IPPROTO_IP))?==?INVALID_SOCKET)?
{
????????AfxMessageBox(“Create?socket?error!“);
????????return?FALSE;
????}

????inetAddr.sin_family=AF_INET;
inetAddr.sin_addr.s_addr=?inet_addr(m_strIp);
inetAddr.sin_port=htons(MSG_PORT);

//連接
????while?(connect(cliSock?(struct?sockaddr?*)&inetAddr?sizeof?(inetAddr))?==?SOCKET_ERROR)?
{
????????AfxMessageBox(“連接對方主機出錯,對方可能已經下線!“);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????22778??2004-12-28?15:08??netmsg\netmsg\源代碼\NetMsgServer.rar

?????文件??????43031??2004-12-28?15:07??netmsg\netmsg\源代碼\NetMsgClient.rar

?????文件??????12656??2004-09-11?00:59??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\NetMsgClient.rc

?????文件???????2386??2004-09-10?22:11??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\Resource.h

?????文件???????3687??2004-09-01?10:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ReadMe.txt

?????文件???????1390??2004-09-01?10:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\NetMsgClient.h

?????文件???????6759??2004-09-10?15:45??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\TRAYICON.cpp

?????文件???????2265??2004-09-03?15:42??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\NetMsgClient.cpp

?????文件???????1947??2004-09-09?10:27??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\CREGISTRY.h

?????文件???????1102??2004-09-01?10:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\StdAfx.h

?????文件????????214??2004-09-01?10:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\StdAfx.cpp

?????文件???????1875??2003-05-09?14:08??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\TRAYICON.h

?????文件???????3343??2004-09-10?13:49??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ChatDlg.h

?????文件???????1949??2004-09-09?16:13??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\RegisterDlg.h

?????文件???????1524??2004-09-09?02:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\UpdateUserInfoDlg.h

?????文件????????547??2004-09-01?10:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\NetMsgClient.dsw

?????文件???????3988??2004-09-09?02:42??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\UpdateUserInfoDlg.cpp

?????文件???????1425??2004-09-09?21:14??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\LoginDlg.h

?????文件??????21384??2004-09-10?23:17??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\NetMsgClientDlg.cpp

?????文件???????1337??2004-09-09?03:19??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ShowUserInfoDlg.h

?????文件???????7864??2004-09-09?10:46??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\CREGISTRY.cpp

?????文件???????1966??2004-09-10?10:42??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ConnectPrompt.cpp

?????文件???????4428??2004-09-10?21:32??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\LoginDlg.cpp

?????文件????????404??2004-09-01?10:41??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\res\NetMsgClient.rc2

?????文件???????2238??2004-09-06?18:03??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\res\MainIcon.ico

?????文件???????2238??2004-09-10?17:55??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\res\MainIconMan.ico

?????文件???????1486??2004-09-09?03:19??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ShowUserInfoDlg.cpp

?????文件???????7326??2004-09-09?18:11??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\RegisterDlg.cpp

?????文件???????1389??2004-09-09?14:48??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ConnectPrompt.h

?????文件??????18244??2004-09-10?22:07??netmsg\netmsg\源代碼\NetMsgClient\NetMsgClient\ChatDlg.cpp

............此處省略38個文件信息

評論

共有 條評論