Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

不错,用起来感觉还挺方便的,开始的时候没有搞明白 #1

Open
loumzy opened this issue Dec 22, 2015 · 10 comments
Open

Comments

@loumzy
Copy link

loumzy commented Dec 22, 2015

No description provided.

@loumzy loumzy changed the title DNSCache.m中163行是不是有问题啊 d Dec 22, 2015
@loumzy loumzy changed the title d 不错,用起来感觉还挺方便的,开始的时候没有搞明白 Dec 22, 2015
@Forceofwind
Copy link
Contributor

嗯, 如果是IP域名,就不需要DNS翻译了。

@loumzy
Copy link
Author

loumzy commented Dec 23, 2015

哦,明白了,怎么去申请你们的Http DNS server,没有找到接入地址,是在开发者平台上吗

@loumzy
Copy link
Author

loumzy commented Dec 23, 2015

WBDNSHttpDnsPack.m中32行应该dns做个类型判断,如果dns是@"",报错

for (NSDictionary* tempIP in dns) {
    WBDNSIP* ip = [[WBDNSIP alloc]init];
    ip.ip = tempIP[@"ip"];
    ip.ttl = tempIP[@"ttl"];
    ip.priority = tempIP[@"priority"];
    [dnsPack.dns addObject:ip];
}

@loumzy
Copy link
Author

loumzy commented Jan 8, 2016

当设置一个错误的dns时,比如1.1.1.1,调用从本地获取ip(WBDNSQueryManager.m 29行,- (WBDNSDomainModel *)queryDomainIp:(NSString *)sp host:(NSString *)host)会非常的卡顿,
主要是这里(getaddrinfo([host UTF8String], NULL, &hints, &addrs);)非常耗时,怎么解决啊

@Forceofwind
Copy link
Contributor

我已经更新了 readme, 说明目前服务器还不支持商业化,支持之后,会更新说明文档。
你说的getaddrinfo是一个系统函数,实际使用中必须要同步获取 地址对应IP,卡顿可以通过放到子线程解决。
但是耗时问题,以我个人的理解,访问一个不可到达的IP,必然是要等到超时才能返回,我认为正常的。

@lovewillover
Copy link

您好,非常感谢您分享代码~
有些疑问需要像您请教~。我用您的源码修改为默认去DNSPOD访问。
主要是关于智能排序的问题,我看源码sortManager中只是将测速rtt为依据进行了排序。请问在WBDNSIpModel中还有其他能够参与排序的字段比如成功次数等,因为我看了一篇文章和您的代码机制一直的,链接:http://www.360doc.com/content/15/1016/07/2909773_505968464.shtml
其中讲到排序模块儿有5个因子,不知道这个源码里面有没有用到除链接速度外的其他因子,如果没有,希望能够得到一些思路的指导。最好还是要感谢您分享代码

@Forceofwind
Copy link
Contributor

五个因子排序是我们最初的想法,后面我们认为移动网络变化很快, 历史的连接质量参考不是太重要,ios版本做了简化,只有两个因子(速度和服务器优先级)本地进行网络连接测试,剔除连接不到的ip。

@lovewillover
Copy link

您好,感谢您的回复~
在开发中我遇到一个问题需要向您请教。是关于cookie的,当使用httpdns服务将域名更换为ip后,就访问不到cookie了。请问该怎样解决这样的问题

@lovewillover
Copy link

感谢回复,其实也不是浏览器了。我们webView被劫持的比较严重,所以拦截了所有WebView的请求,替换域名为IP。目前情况是访问不到cookie了。挺棘手~

@johntaiii
Copy link

域名改成IP后,cookie得自己管理的吧,可以参考:https://yq.aliyun.com/articles/64356?spm=5176.8091938.0.0.QyFUdX

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants