资源简介
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个文件信息
- 上一篇:房屋销售系统
- 下一篇:加油问题贪心算法求解
评论
共有 条评论