2

iOS アプリで SignalR-ObjC をセットアップしようとしています。サーバーからクライアントへの呼び出しを問題なくテストしました。私はまだ呼び出しメソッドを機能させていません。

ここでハブ接続をセットアップします

-(void)setupHubConnection{
   hubConnection = [SRHubConnection connectionWithURL:@"http://hostname/Janus.Web/"];
   janus = [hubConnection createHubProxy:@"syncHub"];

   [janus on:@"picture" perform:self selector:@selector(checkStuff:)];
   [janus on:@"registrationResponse" perform:self selector:@selector(gotRegistered:)];

   [hubConnection start];

   [self registerDevice];
}

ここでサーバー呼び出しを呼び出しています

-(void)registerDevice{
    NSString *os = [NSString stringWithFormat:@"%@%@", [[UIDevice currentDevice] systemName], [[UIDevice currentDevice] systemVersion]];
    NSString *jsonRegister = [NSString stringWithFormat:@"{\"ClientDeviceModel\": {\"ClientID\": \"%@\",\"HardwareInfo\": \"%@\",\"OS\": \"%@\",\"AppVersion\": \"%@\",\"MessageID\": %@}}", [[UIDevice currentDevice] name], [[UIDevice currentDevice]model], os, [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"], [NSString stringWithFormat:@"%.0f", [NSDate timeIntervalSinceReferenceDate]]];

    NSLog(@"%@", jsonRegister);

    NSMutableArray *registerInfo = [[NSMutableArray alloc] init];
    [registerInfo addObject:jsonRegister];

    [janus invoke:@"RegisterClient" withArgs:registerInfo completionHandler:^(id response){
        NSLog(@"%@", response);
    }];
}

この呼び出し RegisterClient 呼び出しからサーバーにヒットしたものは見たことがありません。

何か案は?

4

1 に答える 1

3

理解した。を呼び出した直後に registerDevice を呼び出そうとしていました[hubConnection start]。代わりに、今、私はこれを使用しています:

-(void)SRConnectionDidOpen:(SRHubConnection*)connection{
    [self registerDevice];
}

接続デリゲートを自分自身に設定します。

于 2013-08-02T19:00:13.143 に答える