简体   繁体   English

通过OpenTok的iOS SDK发送OpenTokSignal

[英]Sending a OpenTokSignal via OpenTok's iOS SDK

I'm trying to send a signal to our OpenTok Signalling Server from my iOS device. 我正在尝试从我的iOS设备向我们的OpenTok信令服务器发送信号。

However, the payload, when sent from the browser, is converted to JSON string by OpenTok's SDK. 但是,从浏览器发送的有效负载会由OpenTok的SDK转换为JSON字符串。 However, when I send a signal back with the payload (in a string format) I convert my NSDictionary (with the following block): 但是,当我用有效负载(以字符串格式)发送回信号时,我将转换NSDictionary(带有以下块):

   NSString *jsonString;
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];

if (!jsonData) {
    NSLog(@"error: %@", error.localizedDescription);
    jsonString = @"{}";
} else {
    jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF16StringEncoding];
}

return jsonString;

and send this string, which is received on my browser. 并发送此字符串,该字符串将在我的浏览器中接收到。

[_session signalWithType:VC_WebRTC_Signal_Chat string:jsonString connection:nil error:&error];

However, OpenTok doesn't automatically convert this JSONString back into a JSON object, and the payload returned is returned as a String. 但是,OpenTok不会自动将此JSONString转换回JSON对象,并且返回的有效负载将作为String返回。 Are there NSJSONSerialization options that I should be using to handle this? 我应该使用NSJSONSerialization选项来处理此问题吗?

The signal interface only takes and spits out strings. 信号接口仅取出并吐出字符串。 You are responsible for performing your own encoding/decoding of higher order data. 您负责对高阶数据执行自己的编码/解码。

In your case, I think you probably want to be using JSONObjectWithData:options:error: to convert the string you receive from the delegate callback session:receivedSignalType:fromConnection:withString: back into a dictionary/array/whatever. 在您的情况下,我认为您可能想使用JSONObjectWithData:options:error:将您从委托回调session:receivedSignalType:fromConnection:withString:的字符串转换为session:receivedSignalType:fromConnection:withString:回到字典/数组/任何内容。

Full disclosure: I work for TokBox. 全面披露:我为TokBox工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM