以下代码为手敲,可能会有手误
//
SenderMulticast.h
发送端用的是udp实现的
#include "ace/Sock_Dgram_Mcast.h"
#include "ace/OS.h"
#include <string>
class SenderMulticast
{
public:
SenderMulticast(int nPort);
~SenderMulticast();
int SendToMulticastGroup(std::string & strMsg);
private:
bool Init(int nPort);
private:
ACE_INET_Addr multicast_addr_;
ACE_SOCK_Dgram dgram_;
};
///
SenderMulticast.cpp
///
#include "SenderMulticast.h"
#include "LogManager.h"
#include "DataSwitchCfg.h"
#define MAX_MULTICAST_IP_TTL 5
SenderMulticast::SenderMulticast(int port)/* :*/
//multicast_addr_(port, DEFAULT_MULTICAST_ADDR)
{
Init(port);
}
SenderMulticast::~SenderMulticast()
{
}
bool SenderMulticast::Init(int nPort)
{
multicast_addr_ = ACE_INET_Addr(nPort, DataSwitchCfg::instance()->GetMulticastIp().c_str());
//multicast_addr_.set_interface(DataSwitchCfg::instance()->GetMulticastInf().c_str());
ACE_INET_Addr l