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

📄 siptransmitter.cxx

📁 一个SIP协议栈
💻 CXX
字号:
#include "SIPTransmitter.h"namespace msip{    //---------------------------------------------------------------------------------------    Transmitter::Transmitter()    : tr_IPAddress(0),      tr_TCPSocket(0),      tr_UDPSocket(0)    {    }    //---------------------------------------------------------------------------------------    Transmitter::~Transmitter()    {        if(tr_TCPSocket) delete tr_TCPSocket;        if(tr_UDPSocket) delete tr_UDPSocket;        if(tr_IPAddress) delete tr_IPAddress;    }    //---------------------------------------------------------------------------------------    bool     Transmitter::connect(SendVia via, const std::string & addr, int port)    {        if(tr_IPAddress)        {            // Transmitter has been already connected            return false;        }        tr_IPAddress = new mh323::IPAddress(addr.c_str());        if(port) tr_IPAddress->setPort(port);        if(via == viaUDP)        {            tr_UDPSocket = new mh323::UDPSocket;        }        if(via == viaTCP)        {            tr_TCPSocket = new mh323::TCPSocket;            tr_TCPSocket->connect(*tr_IPAddress);        }        return true;    }    //---------------------------------------------------------------------------------------    bool     Transmitter::close()    {        if(tr_IPAddress == 0)         {            // Transmitter has not been connected            return false;        }        if(tr_TCPSocket)        {            delete tr_TCPSocket;            tr_TCPSocket = 0;        }        if(tr_UDPSocket)        {            delete tr_UDPSocket;            tr_UDPSocket = 0;        }        if(tr_IPAddress)        {            delete tr_IPAddress;            tr_IPAddress = 0;        }    }    //---------------------------------------------------------------------------------------    bool    Transmitter::send(const std::mstring& msg)    {        if(tr_IPAddress == 0)         {            // Transmitter is not connected            return false;        }        if(tr_UDPSocket)        {            tr_UDPSocket->sendto(msg.c_str(), msg.length(), *tr_IPAddress);        }        if(tr_TCPSocket)        {            tr_TCPSocket->send(msg.c_str(), msg.length());        }        return true;    }        }

⌨️ 快捷键说明

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