⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sh_broadcast.cpp

📁 rsa算法打的一个包
💻 CPP
字号:
// SH_Broadcast.cpp: implementation of the SH_Broadcast class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SH_Broadcast.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

SH_Broadcast::SH_Broadcast()
{
    SetPort(0);
}
SH_Broadcast::SH_Broadcast(UINT uPort)
{
    SetPort(uPort);
}

SH_Broadcast::~SH_Broadcast()
{

}

UINT SH_Broadcast::GetPort() const
{
    return m_uPort;
}

VOID SH_Broadcast::SetPort(UINT uPort)
{
    m_uPort = uPort;
}

BOOL SH_Broadcast::CreateSender()
{
    LONG opt = 1;
    if(!Open(AF_INET,SOCK_STREAM,0))
        return FALSE;

    if(!SetSockOpt(SOL_SOCKET,SO_BROADCAST,(char*)&opt,sizeof(opt)))
        return FALSE;

    return TRUE;

}
BOOL SH_Broadcast::CreateSender(UINT uPort)
{
    SetPort(uPort);

    return CreateSender();

}
BOOL SH_Broadcast::CreateReceiver()
{
    LONG opt = 1;

    if(!Open(AF_INET,SOCK_STREAM,0))
        return FALSE;

    if(!SetSockOpt(SOL_SOCKET,SO_REUSEADDR,(char*)&opt,sizeof(opt)))
        return FALSE;
    
    if(!SetSockOpt(SOL_SOCKET,SO_BROADCAST,(char*)&opt,sizeof(opt)))
        return FALSE;

    if(!Bind(INADDR_ANY,m_uPort)) 
        return FALSE;

    return SelectEx(FD_READ);

}

BOOL SH_Broadcast::CreateReceiver(UINT uPort)
{
    SetPort(uPort);

    return CreateReceiver();
}

int  SH_Broadcast::Broadcast(const char * buffer,int len)
{
    struct sockaddr_in addr;

    memset(&addr,0,sizeof(struct sockaddr_in));

    addr.sin_family      = AF_INET;
    addr.sin_port        = htons(m_uPort);
    addr.sin_addr.s_addr = inet_addr("255.255.255.255");

    return SendTo(buffer,len,(struct sockaddr*)&addr);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -