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

  • 大小: 3.44MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-10-14
  • 語言: Java
  • 標簽: mfc??socket??即時通訊??

資源簡介

環境:Windows XP SP3、 VC++ 6.0、 Windows 2003 SDK 使用步驟: 1、下載解壓之后,使用VC++ 6.0打開兩個工程:一個是SocketServer和一個ClientSocket工程。 2、首先運行服務器端工程,選默認的端口1008 3、然后運行客戶端工程,選默認的端口1008和默認的服務器地址 4、再運行多個客戶端進程 5、如果一切正常,可以每個客戶端的消息發送,我們可以在服務端和各個客戶端同步看到消息 實現一個服務器對多個客戶端的關鍵是,在服務端的使用集合CPtrList類用保存客戶端的socket對象,思想與Java中的編程思想一樣,只不過Java中會使用多線程技術,在Vector集合保存客戶端的socket對象,而MFC框架提供了CSocket類,它是一個異步通信的類,所以看上去代碼比較Java的多線程代碼簡單的實現了一個對多的即時通訊功能。另外,MFC提供了CSocketFile類和CArchive類與CSocket類實現了C++的網絡通訊編程功能。 本示例注釋非常詳細,所有的輔助類都放一個util目錄中,然后在工程中分了一個目錄來管理這些輔助類,使用代碼非常清晰。手動書寫部分的代碼是按Java的規范書寫,當然其它代碼由IDE生成的,所以是MS的風格,所以當你看代碼時,只要是使用“駱馱命名法”的方法都是本人書寫的功能性代碼。 參看的思路:在服務端要從回調方法onAccept讀起;而客戶端代碼主要從OnSendButton方法讀起,即可理解整個代碼的意思。 閱讀對象:具有Java的Socket編程經驗的人員,并且希望能夠書寫出比Java效率更高的即時通訊程序的人員

資源截圖

代碼片段和文件信息

//?ClientSocket.cpp?:?Defines?the?class?behaviors?for?the?application.
//

#include?“stdafx.h“
#include?“ClientSocket.h“
#include?“ClientSocketDlg.h“

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

/////////////////////////////////////////////////////////////////////////////
//?CClientSocketApp

BEGIN_MESSAGE_MAP(CClientSocketApp?CWinApp)
//{{AFX_MSG_MAP(CClientSocketApp)
//?NOTE?-?the?ClassWizard?will?add?and?remove?mapping?macros?here.
//????DO?NOT?EDIT?what?you?see?in?these?blocks?of?generated?code!
//}}AFX_MSG
ON_COMMAND(ID_HELP?CWinApp::onhelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
//?CClientSocketApp?construction

CClientSocketApp::CClientSocketApp()
{
//?TODO:?add?construction?code?here
//?Place?all?significant?initialization?in?InitInstance
}

/////////////////////////////////////////////////////////////////////////////
//?The?one?and?only?CClientSocketApp?object

CClientSocketApp?theApp;

/////////////////////////////////////////////////////////////////////////////
//?CClientSocketApp?initialization

BOOL?CClientSocketApp::InitInstance()
{
if?(!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return?FALSE;
}

AfxEnableControlContainer();

//?Standard?initialization
//?If?you?are?not?using?these?features?and?wish?to?reduce?the?size
//??of?your?final?executable?you?should?remove?from?the?following
//??the?specific?initialization?routines?you?do?not?need.

#ifdef?_AFXDLL
Enable3dControls(); //?Call?this?when?using?MFC?in?a?shared?DLL
#else
Enable3dControlsStatic(); //?Call?this?when?linking?to?MFC?statically
#endif

CClientSocketDlg?dlg;
m_pMainWnd?=?&dlg;
int?nResponse?=?dlg.DoModal();
if?(nResponse?==?IDOK)
{
//?TODO:?Place?code?here?to?handle?when?the?dialog?is
//??dismissed?with?OK
}
else?if?(nResponse?==?IDCANCEL)
{
//?TODO:?Place?code?here?to?handle?when?the?dialog?is
//??dismissed?with?Cancel
}

//?Since?the?dialog?has?been?closed?return?FALSE?so?that?we?exit?the
//??application?rather?than?start?the?application‘s?message?pump.
return?FALSE;
}

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

?????文件???????1341??2009-11-06?22:07??SocketServer\MyPort.cpp

?????文件???????1315??2009-11-06?22:04??SocketServer\MyPort.h

?????文件???????3687??2009-11-06?21:41??SocketServer\ReadMe.txt

?????文件???????6935??2009-11-11?20:28??SocketServer\Release\Message.obj

?????文件??????11404??2009-11-11?20:28??SocketServer\Release\MyPort.obj

?????文件???????9004??2009-11-11?20:28??SocketServer\Release\socketclient.obj

?????文件???????5931??2009-11-11?20:28??SocketServer\Release\socketlistener.obj

?????文件??????28672??2009-11-11?20:28??SocketServer\Release\SocketServer.exe

?????文件??????10637??2009-11-11?20:28??SocketServer\Release\SocketServer.obj

?????文件????5756388??2009-11-11?20:28??SocketServer\Release\SocketServer.pch

?????文件???????3192??2009-11-11?20:28??SocketServer\Release\SocketServer.res

?????文件??????33980??2009-11-11?20:28??SocketServer\Release\SocketServerDlg.obj

?????文件????????810??2009-11-11?20:28??SocketServer\Release\StdAfx.obj

?????文件??????58368??2009-11-11?20:28??SocketServer\Release\vc60.idb

?????目錄??????????0??2009-11-11?20:28??SocketServer\Release

?????文件???????1078??2009-11-06?21:41??SocketServer\res\SocketServer.ico

?????文件????????404??2009-11-06?21:41??SocketServer\res\SocketServer.rc2

?????目錄??????????0??2009-11-09?21:44??SocketServer\res

?????文件???????1102??2009-11-06?22:01??SocketServer\resource.h

?????文件??????36956??2009-11-08?20:52??SocketServer\SocketServer.aps

?????文件???????2383??2009-11-09?16:55??SocketServer\SocketServer.clw

?????文件???????2243??2009-11-07?09:01??SocketServer\SocketServer.cpp

?????文件???????4820??2009-11-07?10:25??SocketServer\SocketServer.dsp

?????文件????????549??2009-11-06?21:41??SocketServer\SocketServer.dsw

?????文件???????1388??2009-11-07?09:00??SocketServer\SocketServer.h

?????文件??????82944??2009-11-11?20:37??SocketServer\SocketServer.ncb

?????文件??????61952??2009-11-11?20:37??SocketServer\SocketServer.opt

?????文件???????2349??2009-11-11?20:28??SocketServer\SocketServer.plg

?????文件???????6544??2009-11-08?20:52??SocketServer\SocketServer.rc

?????文件??????10665??2009-11-11?17:30??SocketServer\SocketServerDlg.cpp

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

評論

共有 條評論