[英]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.