SignalR:尝试加载图像时有时没有数据返回

时间:2012-11-04 13:57:50

标签: iphone objective-c ios signalr long-polling

加载图片时偶尔会出现这样的情况:

dispatch_async(dispatch_get_global_queue(0, 0), ^
{
    NSData *data = [[NSData alloc] initWithContentsOfURL:someImgUrl.jpg];
    if (data == nil)
    {
        NSLog( @"data is nil with img url:%@"  ,imgUrl);
        return;
    }
    dispatch_async(dispatch_get_main_queue(), ^
    {
        img.image = [UIImage imageWithData:data];
    });
});

我的数据是零。 我用小提琴手嗅了一下,发现每次发生时,小提琴都没有显示任何请求!

它永远不会发生的唯一时间是

  1. 当我不在我的应用程序中使用SignalR客户端时。
  2. 同步下载图片:

    NSData * imageData = [[NSData alloc] initWithContentsOfURL:someImgUrl.jpg ];
    img.image = [UIImage imageWithData: imageData];
    
  3. 我初始化SignalR的方式是:

    NSString *listenurl = [NSString stringWithFormat:@"%@/%@", SERVICE_URL, @"/echo"];
    mConnection = [SRConnection connectionWithURL:listenurl];
    [mConnection setDelegate:self];
    [mConnection start:[[SRLongPollingTransport alloc] init]];
    

    其他人在ios中使用signalR客户端并表现出这种行为吗?

1 个答案:

答案 0 :(得分:1)

似乎问题只发生在SignalR使用相同域名侦听您尝试从中加载图像的服务器时。

所以到目前为止我发现的(跛脚)解决方案是购买第二个域并听取那个域名。 不知道为什么会发生......