iOS 애플리케이션에서 XMPPFramework 를 사용하여 원격 서버에 연결하려고 합니다. 이 앱은 localhost의 openfire 서버와 공용 Jabber 계정 모두에 잘 연결됩니다. 내 대학의 개발 서버에 연결하려고 할 때만 작동하지 않고 델리게이트 메서드가 호출되지 않습니다. 연결 메소드에 전달 된 NSError 객체도 아무것도 채워지지 않습니다.
기본적으로 다음 코드로 연결합니다.
- (BOOL)connect {
if ([xmppStream isConnected]) {
return YES;
}
[xmppStream setMyJID:jabberID];
[xmppStream setHostName:[self hostName]];
NSError* error = nil;
if (![xmppStream connect:&error]) {
NSLog(@"Couldn't connect because of error: %@", [error localizedDescription]);
return NO;
}
return YES;
}
모든 값이 정확하다는 것을 보여주는 많은 로그 문을 삽입했으며 내가 말했듯이 다른 JID에서도 작동합니다.
또한 IP 주소를 호스트 이름으로 사용하려고 시도했지만 성공하지 못했습니다.
또 다른 의심은 서버가 신뢰할 수없는 인증서를 보낼 때 연결 프로세스가 멈춘다는 것이었지만 Adium의 키 체인에 추가했는데 여전히 작동하지 않습니다.
그렇다면 문제는 무엇일까요? 테스트 할 수있는 다른 서버에 연결할 수 있으며 Adium으로 문제의 개발 서버에 연결할 수도 있지만 XMPPFramework를 사용하는 앱에서는 연결할 수 없습니다.
문제는 서버에 보안 연결이 필요하다는 것이었고 어떻게 든 사용하여 할 수 없었습니다 XMPPFramework
. 대학의 고문이 서버 설정을 보안 연결 옵션으로 설정하도록했고 이제 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다