www.pudn.com > IP_phone.rar > SendSocket.cpp
/**********************************************************/
/*类名:CSendSocket */
/*简述:用于发送的UDPSocket */
/**********************************************************/
// SendSocket.cpp : implementation file
//
#include "stdafx.h"
#include "..\NC_Client.h"
#include "SendSocket.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSendSocket
CSendSocket::CSendSocket()
{
m_pFrame = (struct Frame *)m_cBuffer;
m_pFrame->iIndex = 0;
m_bIni = FALSE;
}
CSendSocket::~CSendSocket()
{
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CSendSocket, CAsyncSocket)
//{{AFX_MSG_MAP(CSendSocket)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
/////////////////////////////////////////////////////////////////////////////
// CSendSocket member functions
/////////////////////////////////////////////////////////////////////////////
//初始化
BOOL CSendSocket::Ini()
{
if (m_bIni)
return FALSE;
//创建UDP Socket
if (!this->Create (NULL,SOCK_DGRAM))
{
AfxMessageBox("sendsocket ini error!");
return FALSE;
};
m_bIni = TRUE;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
//设定目标IP
void CSendSocket::SetIp(CString ip)
{
m_ip=ip;
}
/////////////////////////////////////////////////////////////////////////////
//设定目标PORT
void CSendSocket::SetPort(int temp_port)
{
m_port=temp_port;
}
/////////////////////////////////////////////////////////////////////////////
//重载Send()
int CSendSocket::Send(const void* lpBuf, int nBufLen, int nFlags)
{
/*//加入序列号
m_pFrame->iIndex++;
memcpy(m_cBuffer+sizeof(struct Frame),lpBuf,nBufLen);
*/
memcpy(m_cBuffer,lpBuf,nBufLen);
return CAsyncSocket::SendTo(m_cBuffer,nBufLen,m_port,m_ip,nFlags);
}
/////////////////////////////////////////////////////////////////////////////
//release
BOOL CSendSocket::CloseSocket()
{
if (!m_bIni)
return FALSE;
CAsyncSocket::Close ();
m_bIni = FALSE;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////