c++支持ipv6_Only,ip必须使用域名,否则ios9会失败~
来源:互联网 发布:淘宝店铺如何入手 编辑:程序博客网 时间:2024/06/10 15:10
struct addrinfo hints, *res, *res0;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_CANONNAME|AI_NUMERICSERV;
char cport[32] = {0};
FSprintf(cport,32,"%d",port);
int error = getaddrinfo(ip, cport, &hints, &res0);
if (error == 0)
{
int connectRet = 0;
int socket = 0;
for (res = res0; res; res = res->ai_next)
{
socket = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
if (socket < 0)
{
continue;
}
connectRet = connect(socket, res->ai_addr, res->ai_addrlen);
if (connectRet == -1)
{
continue;
}
else
{
break;
}
}
freeaddrinfo(res0);//必须成功后释放,失败是没有申请到内存,不需要释放
}
else
{
//error
}
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_CANONNAME|AI_NUMERICSERV;
char cport[32] = {0};
FSprintf(cport,32,"%d",port);
int error = getaddrinfo(ip, cport, &hints, &res0);
if (error == 0)
{
int connectRet = 0;
int socket = 0;
for (res = res0; res; res = res->ai_next)
{
socket = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
if (socket < 0)
{
continue;
}
connectRet = connect(socket, res->ai_addr, res->ai_addrlen);
if (connectRet == -1)
{
continue;
}
else
{
break;
}
}
freeaddrinfo(res0);//必须成功后释放,失败是没有申请到内存,不需要释放
}
else
{
//error
}
阅读全文
0 0
- c++支持ipv6_Only,ip必须使用域名,否则ios9会失败~
- IOS 如果要给navigationBar设置背景,必须放在所有修改之后设置,否则IOS4.3会失败
- Android Json串构造必须使用单引号.否则会在服务器解析是多出+号
- AJAX相关代码及使用JOSN格式时,必须设置字符集,否则会乱码
- C语言的字符指针必须分配空间或者指向某个地址否则不能使用
- 发布文章时带有图片内容,去掉域名,否则更换域名后连接会失效
- 使用C语言获取指定域名的IP
- 使用C语言获取指定域名的IP
- 【C语言】查询域名IP
- java try catch必须成对使用,否则报错
- pthread_cleanup_push、pthread_cleanup_pop必须成对使用,否则编译不过!
- C++中变量使用前必须初始化,否则报错~
- 锐捷3.94卸载后提示:必须重启,否则会出现不可预料的错误,解决办法
- 析构函数,必须是virtual的,否则会内存泄漏
- ubuntu 下ln 动作 源文件和目标文件必须用完整路径否则会不成功
- 杭电2008注意是实数,continue的应用必须的加上,否则会重复加
- new和delete的指针类型必须一致,否则会造成未定义行为
- 基类析构函数必须为虚函数否则会造成内存泄漏
- Java知识---类的继承
- 二进制程序包MariaDB的配置实现
- 将JavaBean对象的全部属性(包括父类属性)存放于map中的方法
- @Controller和@RestController的区别?
- 了解MySQL联表查询中的驱动表,优化查询,以小表驱动大表
- c++支持ipv6_Only,ip必须使用域名,否则ios9会失败~
- 20171014redis
- Git文件夹和文件图标不显示(Git)
- 设计模式之代理模式
- 内连接(inner join)与外连接(outer join)小结
- js基本数据类型-深入讲解(1)
- jquery选择器如何获取父级元素、同级元素、子元素
- 运算符的区别与优先级
- matlab窗口输出信息写入文件