📄 siptransmitter.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 + -