本文整理汇总了C++中IpAddress::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ IpAddress::isEmpty方法的具体用法?C++ IpAddress::isEmpty怎么用?C++ IpAddress::isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IpAddress
的用法示例。
在下文中一共展示了IpAddress::isEmpty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sendMsgBlock
bool Proxy::sendMsgBlock(MsgBlockType type, const IpAddress &remote_ip,
const void *data, unsigned len)
{
//cout << "> type=" << type << " remote_ip=" << remote_ip
// << " len=" << len << endl;
if (!con.isConnected() || (state != STATE_CONNECTED))
{
return false;
}
int msg_len = MSG_HEADER_SIZE + len;
uint8_t msg_buf[msg_len];
uint8_t *msg_ptr = msg_buf;
// Store the message type
*msg_ptr++ = static_cast<uint8_t>(type);
// Store the proxied remote IP address if set
in_addr_t remote_ip_addr = 0;
if (!remote_ip.isEmpty())
{
remote_ip_addr = remote_ip.ip4Addr().s_addr;
}
*msg_ptr++ = remote_ip_addr & 0xff;
*msg_ptr++ = (remote_ip_addr >> 8) & 0xff;
*msg_ptr++ = (remote_ip_addr >> 16) & 0xff;
*msg_ptr++ = (remote_ip_addr >> 24) & 0xff;
// Store the message data length
*msg_ptr++ = len & 0xff;
*msg_ptr++ = (len >> 8) & 0xff;
*msg_ptr++ = (len >> 16) & 0xff;
*msg_ptr++ = (len >> 24) & 0xff;
// Store the message data
memcpy(msg_ptr, data, len);
// Send the message
int ret = con.write(msg_buf, msg_len);
if (ret == -1)
{
char errstr[256];
errstr[0] = 0;
strerror_r(errno, errstr, sizeof(errstr));
cerr << "*** ERROR: Error while writing message to EchoLink proxy: "
<< errstr << endl;
reset();
}
else if (ret != msg_len)
{
cerr << "*** ERROR: Could not write all data to EchoLink proxy\n";
reset();
}
return true;
} /* Proxy::sendMsgBlock */