ACE_INET_Addr::get_host_addr()令人抓狂的一面

//file testAddr.cpp
#include "ace/INET_Addr.h"


int main(int argc, char * argv[])
{
  ACE_INET_Addr addr;
  ACE_INET_Addr addr2;
  addr.set(1234,"235.0.0.1");
  addr2.set(2345,"235.0.0.2");
  const char *src_ip = addr.get_host_addr();
  const char *dst_ip = addr2.get_host_addr();
  char src_addr[64];
  char dst_addr[64];
  snprintf(src_addr,64,"%s:%d",addr.get_host_addr(),addr.get_port_number());
  snprintf(dst_addr,64,"%s:%d",addr2.get_host_addr(),addr2.get_port_number());
  printf("addr:[%s:%d],addr2:[%s:%d]\n",addr.get_host_addr(), addr.get_port_number(),addr2.get_host_addr(), addr2.get_port_number(
));
  printf("addr2:[%s:%d]\n",addr2.get_host_addr(), addr2.get_port_number());
  printf("addr:[%s:%d],addr2:[%s:%d]\n",src_ip, addr.get_port_number(),dst_ip, addr2.get_port_number());
  printf("addr:[%s:%d]\n",src_ip,addr.get_port_number());
  printf("addr2:[%s:%d]\n",dst_ip,addr2.get_port_number());
  printf("src_addr:%s,dst_addr:%s\n",src_addr,dst_addr);

  return 0;

}



#g++ -o test -lACE testAddr.cpp

#./test

addr:[235.0.0.1:1234],addr2:[235.0.0.1:2345]
addr2:[235.0.0.2:2345]
addr:[235.0.0.2:1234],addr2:[235.0.0.2:2345]
addr:[235.0.0.2:1234]
addr2:[235.0.0.2:2345]
src_addr:235.0.0.1:1234,dst_addr:235.0.0.2:2345

const char * ACE_INET_Addr::get_host_addr(void  )const

Return the "dotted decimal" Internet address representation of the hostname. This version is non-reentrant since it returns a pointer to a static data area. You should therefore either (1) do a "deep copy" of the address returned byget_host_addr(), e.g., using strdup() or (2) use the "reentrant" version of get_host_addr() described above.




dhd_inetaddr_notifier_call: bus not ready, exit 是一个错误提示信息,出现在某些与网络连接相关的代码中。 该错误提示通常出现在Linux系统中的网络驱动程序中,特别是与无线网络连接相关的驱动程序中。这个提示信息意味着网络总线(bus)未准备好,所以驱动程序无法正常工作并退出。 造成这种错误提示的原因可能是多种多样的。常见的原因包括: 1. 硬件问题:网络卡或其他相关设备可能存在故障或连接问题,导致无法正常使用。 2. 驱动程序问题:网络驱动程序可能存在错误或不兼容性,需要更新或修复。 3. 配置问题:网络配置文件可能存在问题,如IP地址、网关或DNS服务器设置错误。 4. 网络环境问题:网络环境可能不稳定,导致网络总线无法正常工作。 要解决这个问题,可以尝试以下步骤: 1. 检查硬件连接:确保网络设备正确连接,并且没有松动或损坏的接触点。 2. 更新驱动程序:查找并下载最新版的网络驱动程序,并重新安装或更新驱动程序以解决可能的兼容性问题。 3. 检查配置文件:验证网络配置文件中的设置是否正确,包括IP地址、网关和DNS服务器。 4. 检查网络环境:验证网络环境是否稳定,例如通过尝试与其他设备进行通信来检查网络的可用性。 如果问题仍然存在,可以尝试在网络论坛或社区中搜索类似的问题,或向相关技术支持提出问题以获取更具体的解决方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值