資源簡介
scoket 異步通信 一個服務端 多個客戶端 服務端可以對連接到服務端的任何一個客戶端通信 ,send 的消息是一個結構體 程序在VS2003 下 測試通過
代碼片段和文件信息
//?Socketbase.cpp?:?實現文件
//
#include?“stdafx.h“
#include?“Socketbase.h“
//////////////////////////////////////////////////////////////////////////
//?CSocketbase?類?方法
CSocketbase::CSocketbase()
{
m_bAccept?=?FALSE;
}
CSocketbase::CSocketbase(CWnd?*?pParent?UINT?m_nMessageID)
{
m_UserMsg?=?m_nMessageID;
m_pWnd?=?pParent;
m_bAccept?=?FALSE;
}
CSocketbase::~CSocketbase()
{
}
void?CSocketbase::OnClose(int?nErrorCode)
{
char?*Information=“one?client?is?closed“;
if?(m_pWnd!=NULL)
{
???? m_pWnd->SendMessage(m_UserMsg?1(LPARAM)Information);
}
CAsyncSocket::OnClose(nErrorCode);
}
void?CSocketbase::OnReceive(int?nErrorCode)
{
if?(m_bIsSever)
{
DWORD?dSize=sizeof(m_tagCliMsg);
int?m_nLength?=?Receive(&m_tagCliMsg?dSize);
if?(m_pWnd!=NULL)
{
m_pWnd->SendMessage(m_UserMsgm_tagCliMsg.nMessageFlag(LPARAM)m_tagCliMsg.strClientName);
}
}
else
{
DWORD?dSize=sizeof(m_tagSerMag);
int?m_nLength?=?Receive(&m_tagSerMag?dSize);
if?(m_pWnd!=NULL)
{
m_pWnd->SendMessage(m_UserMsg1(LPARAM)m_tagSerMag.stSerMessage);
}
}
}
void?CSocketbase::SendMessage(tagServerMsg?_tagSMsg)
{
if?(m_bIsSever)
{
if(m_bAccept)
{
DWORD?dSize=sizeof(_tagSMsg);
AsyncSelect(FD_WRITE);
while(Send(&_tagSMsg?dSize)?==?SOCKET_ERROR);
//繼續提請一個“讀”的網絡事件,接收Server消息
AsyncSelect(FD_READ?|?FD_CLOSE);
}
}
}
//////////////////////////////////////////////////////////////////////////
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2851??2009-11-09?17:00??Soceket\SocketCli\ReadMe.txt
?????文件??????21630??2003-04-01?04:36??Soceket\SocketCli\res\SocketCli.ico
?????文件????????698??2009-11-09?17:00??Soceket\SocketCli\res\SocketCli.manifest
?????文件????????365??2009-11-09?17:00??Soceket\SocketCli\res\SocketCli.rc2
?????文件???????1003??2009-11-10?11:25??Soceket\SocketCli\resource.h
?????文件???????1590??2009-11-10?17:57??Soceket\SocketCli\Socketba
?????文件????????987??2009-11-10?17:57??Soceket\SocketCli\Socketba
?????文件??????58476??2009-11-10?16:00??Soceket\SocketCli\SocketCli.aps
?????文件???????1571??2009-11-09?17:02??Soceket\SocketCli\SocketCli.cpp
?????文件????????455??2009-11-09?17:00??Soceket\SocketCli\SocketCli.h
?????文件??????60416??2009-11-10?18:36??Soceket\SocketCli\SocketCli.ncb
?????文件???????5578??2009-11-10?16:00??Soceket\SocketCli\SocketCli.rc
?????文件????????907??2009-11-09?17:00??Soceket\SocketCli\SocketCli.sln
????..A..H.?????11264??2009-11-10?18:36??Soceket\SocketCli\SocketCli.suo
?????文件???????4975??2009-11-10?10:46??Soceket\SocketCli\SocketCli.vcproj
?????文件???????5111??2009-11-10?16:03??Soceket\SocketCli\SocketCliDlg.cpp
?????文件???????1009??2009-11-10?11:24??Soceket\SocketCli\SocketCliDlg.h
?????文件????????625??2009-11-10?17:57??Soceket\SocketCli\SocketClient.cpp
?????文件????????350??2009-11-10?17:57??Soceket\SocketCli\SocketClient.h
?????文件????????138??2009-11-09?17:00??Soceket\SocketCli\stdafx.cpp
?????文件???????1480??2009-11-09?17:02??Soceket\SocketCli\stdafx.h
?????文件???????2851??2009-11-09?10:09??Soceket\SocketSer\ReadMe.txt
?????文件??????21630??2003-04-01?04:36??Soceket\SocketSer\res\SocketSer.ico
?????文件????????698??2009-11-09?10:09??Soceket\SocketSer\res\SocketSer.manifest
?????文件????????365??2009-11-09?10:09??Soceket\SocketSer\res\SocketSer.rc2
?????文件????????957??2009-11-10?15:57??Soceket\SocketSer\resource.h
?????文件???????1876??2009-11-10?17:56??Soceket\SocketSer\Socketba
?????文件???????1014??2009-11-10?17:59??Soceket\SocketSer\Socketba
?????文件??????58368??2009-11-10?15:58??Soceket\SocketSer\SocketSer.aps
?????文件???????1577??2009-11-09?11:34??Soceket\SocketSer\SocketSer.cpp
............此處省略20個文件信息
- 上一篇:房屋銷售系統
- 下一篇:加油問題貪心算法求解
評論
共有 條評論