2012-04-12 11 views
0

問題:iOS XMPPFrameworkとOpenFire Serverを使用してTURN接続を正常に確立するにはどうすればよいですか。私はファイルを送受信できるようにしたい。iOS XMPPFrameworkとOpenFire Serverを使用した接続

http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/

アップデート2012年4月13日:私のコードのベースは、次のチュートリアルからであるより多くの研究の後、私はこの質問に表示する必要が本当の関連するコードは、このだと思いますTURNSocket私はコードをデバッグするときに、しかし

XMPPJID *jid = [XMPPJID jidWithString:@"[email protected]"]; 

NSLog(@"Attempting TURN connection to %@", jid); 

TURNSocket *turnSocket = [[TURNSocket alloc] initWithStream:[self xmppStream] toJID:jid]; 

[turnSockets addObject:turnSocket]; 

[turnSocket startWithDelegate:self delegateQueue:dispatch_get_main_queue()]; 
[turnSocket release]; 

を接続しようとするところ...

これは私が、ありますn TURNSocket「私たちのリストから1つのプロキシサーバーを見つけることができませんでした」というコメントになります。これは、配列 'streamhosts'に決してデータが入力されないためです。何が問題なの?どこかに問題があるはずのXMLがありますか?問題はOpenFireで起こりそうですか?

答えて

0

この問題は、リソースを持つ完全なjIDがTurnSocket.mに提供されていないと発生します。これは

例えば

[email protected]/spark

ではなく

[email protected]を使用SMChatViewControllerののviewDidLoadに渡されます.co.uk

このプロジェクトの私の進捗状況は、これはあなたがTURNSocket ストリームホストのプロキシ候補を移入 に呼び出すTURNSocketのクラスメソッドであるhere

+0

こんにちはアンディ、あなたがリソースを取得する場所から教えてくれるようにshudの外観を見ていた?リソースの価値はどうあるべきですか? –

-1

TurnSocketのprocessRequestResponse.mでは、streamhost要素の名前がOpenFireから与えられたものではありませんでした。私はしかし、私は今、私はアップデート20のために... OpenFire/XMPP 503 service-unavailable error (XEP-0065 using iOS XMPPFramework)

新しい質問を始めています、新しいエラーを持っているこの

NSXMLElement *streamhostUsed = [query elementForName:@"streamhost"]; 

にこの

NSXMLElement *streamhostUsed = [query elementForName:@"streamhost-used"]; 

から、それを変更しました/ 4/2012:今私はこの答えがと間違っていると信じています!正常に動作していた場合、streamhostではなく、streamhostUsedが存在します。

+0

私はこれを試しましたが、streamhost xml要素に結果としてデータが入力されることはありません。私が推測する通り、streamhostはStreamhostに決して解決されることはありません。 – Splendid

+0

Mmm。この時点でコードをデバッグすると、streamhost get populatedが表示されることがあります。しかし、私の答えが間違っているのは間違いです。私はコードをデバッグして何が起こっているのかをより深く理解するためにhttp://xmpp.org/extensions/xep-0065.htmlを読んでいます。 –

+0

私はこの質問の結果をいつ見たのか分かりませんでした。 streamhostの代わりに、コードログの中にstreamhost-used xmlログがある可能性があります。私はまた、私たちのXMLログがどのようにターンソケット成功 – Splendid

0

を続けることができます。ですから、ストリームホストを に戻す必要があります。

+ (void)setProxyCandidates:(NSArray *)candidates; 

[TURNSocket setProxyCandidates:@["host1.somedomain.com", @"host2.someotherdomain.com"]]; 
関連する問題