标签: cfnetwork

iPhone上的SSDP

我需要能够发送一个UDP消息,还收到一个以发现从iPhone网络上的SSDP设备.

我知道我需要将数据包发送到多播地址,我的HTTP请求需要看起来像这样:

M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: ssdp:discover
Mx: 3
ST: "urn:schemas-upnp-org:device:InternetGatewayDevice:1"
Run Code Online (Sandbox Code Playgroud)

从阅读的文档,似乎我能做到这一切与CFNetwork的,尽管阅读(并重新读取文档)我奋力上手.任何人都可以推荐和教程或代码片段让我超过最初的学习驼峰吗?

我有CFNetwork编程指南:

http://developer.apple.com/mac/library/documentation/Networking/Conceptual/CFNetwork/CFNetwork.pdf

和Beej的网络编程指南使用互联网套接字:

http://beej.us/guide/bgnet/

谢谢

戴夫

PS

在这种情况下,我无法使用任何第三方库和框架.

iphone udp upnp cfnetwork ssdp

7
推荐指数
1
解决办法
9686
查看次数

差异 - CFNetwork/NSURLConnection

我一直在寻找两者之间的差异(通常用于使用HTTP/HTTPS的简单请求),但我找不到任何东西.有什么区别吗?我问它,因为当我需要,我只是使用NSURLConnection的,我已经看到了很多人建议使用AFNetworking(基于CFNetwork的).

问候!

nsurlconnection cfnetwork ios

7
推荐指数
1
解决办法
4175
查看次数

什么可以使用CFReadStreamCreateForHTTPRequest?

对于IOS 9及更低版本,此方法CFReadStreamCreateForHTTPRequest(...)已弃用.

Apple的文档建议使用NSURLSession而不是这个.但是我不明白我如何重新整合与NSURLSession的Live(我使用流)一起工作的功能.

我没有看到任何由NSURLSession加载"live"的可能性.

您通过服务器的特殊URL来加载实时数据的用途是什么?

cfnetwork ios cfnetworking

7
推荐指数
0
解决办法
276
查看次数

如何为SSL握手配置CFStream(或NSStream)?

我正在使用CFStream/NSStream来建立http连接.我希望能够在三种情况下检测到SSL握手失败:

  • 案例A:服务器不受信任
  • 情况B:服务器是可信的但是要求客户端证书
  • 情况C:服务器不受信任,它会询问客户端证书

今天没有对我的CFStream的SSL属性进行测试,我得到:

  • 案例A:错误-9807
  • 情况B:没有错误,但服务器拒绝连接(错误500)
  • 案例C:错误9807

有没有办法配置CFStream来正确区分这三种情况?或者在SSL握手期间进行一些回调?

谢谢你的帮助.

ssl objective-c nsstream cfnetwork cfstream

6
推荐指数
1
解决办法
2930
查看次数

使用NSURLSession时CFNetwork SSLHandshake失败(-9806)错误当appfor backgroundfor uploadTask时

当应用程序处于后台时,我在使用NSURLSession UploadTask上传视频文件时遇到CFNetwork SSL握手错误.当应用程序处于前台时,上传视频没有问题.只有在应用程序处于后台时才会出现问题.

background cfnetwork nsurlsession

6
推荐指数
1
解决办法
1万
查看次数

如何获得用于在iOS中连接的确切IP地址?

我使用域名创建了一个请求,例如http://www.google.com.但是,我怎样才能获得框架用于连接服务器的确切IP地址?

我知道gethostbyname方法或nslookup方法可以给我们地址,但由于ip地址是动态分配的,也许我请求的ip地址与返回的这些方法的时间不同.

那么有没有办法让我获得真正的请求IP地址?(我想以编程方式获取ip,而不是使用tcpdump等)

networking http cfnetwork ios afnetworking

6
推荐指数
1
解决办法
1562
查看次数

Alamofire GET请求内存泄漏(Swift)

我是新手(ish)iOS开发人员第一次使用Alamofire为iOS 9.3应用程序发出多个GET请求:

    var i = 0
    while i < 100{
        var url = String("https://itunes.apple.com/search?term=" + "somequery")

        Alamofire.request(.GET, url).responseJSON {[weak self] response in
            switch response.result {
            case .Success:
                break


            case .Failure(let error):
                print(error)
            }

        }
       i++

    }
Run Code Online (Sandbox Code Playgroud)

每个请求都会增加应用程序的内存使用量,然后永远不会释放它.我已经使用Instruments来试图更好地了解正在发生的事情,看起来这是与CFNetwork有关的问题.

Instruments + Memory Leak的屏幕截图

我试图解决这个问题的事情:

  • 取消每项任务在会话描述这里
  • 使用此处描述的调度组
  • 使用NSURLCache.sharedURLCache()清除NSURLCache.removeAllCachedResponses()
  • 使用session.invalidateAndCancel()使会话无效并取消
  • 将requestCachePolicy更改为.ReloadIgnoringLocalCacheData

为什么会发生这种情况,如何在请求完成后释放内存?

memory-leaks cfnetwork ios swift alamofire

6
推荐指数
0
解决办法
935
查看次数

突然收到很多来自 CFNetwork/Darwin 的请求

我在 AWS 控制台中注意到,我们的网站收到的请求比平时多得多。特别是在夜间(欧洲时间)。

在此处输入图片说明

然后我检查了 nginx 日志,现在我知道许多具有不同 IP 地址的设备请求网站的根目录,其中大多数使用用户代理swcd (unknown version) CFNetwork/978.0.7 Darwin/18.7.0。有时其中一个版本不同。

我完全不知道发生了什么,所以我希望有人可以提供帮助。

darwin cfnetwork ios swift

6
推荐指数
2
解决办法
8890
查看次数

_SCDynamicStoreCopyProxies 错误未找到符号

编译我的项目时出现错误: SYmbol not found to _SCDynamicStoreCopyProxies 有什么想法吗?

macos gcc osx-snow-leopard cfnetwork

5
推荐指数
1
解决办法
2335
查看次数

STTwitter CFNetwork内部错误NSURLRequest

在查看此链接API模式错误后,我使用STTwitter更正了一些代码.这消除了一个错误,但让我注意到一个新的CFNetwork错误.每当我尝试使用getHomeTimelineSinceID或getUserTimelinewithScreenName获取状态时,调试器中会弹出错误"CFNetwork内部错误(0xc01a:/SourceCache/CFNetwork/CFNetwork-695.1.5/Foundation/NSURLRequest.mm:798)".调试后,我发现错误在[r Asynchronous]之后弹出(STTwitterAppOnly.m的第272行).我通过进入verifyCredentialsWithSuccessBlock来到达这个位置.

我目前使用的代码:

   [twitter verifyCredentialsWithSuccessBlock:^(NSString *bearerToken) {

    [twitter getHomeTimelineSinceID:nil
                               count:20
                        successBlock:^(NSArray *statuses) {

                            NSLog(@"-- statuses: %@", statuses);


                            self.twitterFeed = statuses;

                            [self.tableView reloadData];

                        } errorBlock:^(NSError *error) {
                        }];
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

        [twitter getUserTimelineWithScreenName:@"Dandelion_2014"
                              successBlock:^(NSArray *statuses) {

                                  self.twitterFeed = [NSMutableArray arrayWithArray:statuses];

                                  [self.tableView reloadData];

                              } errorBlock:^(NSError *error) {

                                  NSLog(@"%@", error.debugDescription);

                              }];
Run Code Online (Sandbox Code Playgroud)

我不确定是什么导致了这个错误,有人有洞察力吗?

twitter oauth cfnetwork ios sttwitter

5
推荐指数
1
解决办法
2075
查看次数