我从在iOS和本地ejabberd服务器(在“ localhost:5280”上运行)的xmppFramework开始。我使用“用户名:admin,密码:admin”登录了ejabberd服务器。
我正确检查了我的代码,并添加了代表“ XMPPStreamDelegate”。 我遇到的问题是我的代码调用了委托函数“ xmppStreamWillConnect”,但未调用“ xmppStreamDidConnect”。
通常,什么原因可能导致此问题?
我的代码:
func connect() {
if !self.xmppStream.isDisconnected() {
return
}
self.xmppStream.hostName = "localhost:5280"
self.xmppStream.myJID = XMPPJID(string:"admin@localhost")
try! self.xmppStream.connect(withTimeout: 10)
if self.xmppStream.isConnected(){
print(true)
}
self.xmppStream.startTLSPolicy = XMPPStreamStartTLSPolicy.required
self.xmppStream.supportsStartTLS()
print("ok")
}
func xmppStreamWillConnect(_ sender: XMPPStream!) {
print("will connect ")
}
func xmppStreamDidConnect(_ stream: XMPPStream!) {
print("Stream: Connected")
try! stream.authenticate(withPassword: self.password)
}
打印结果为: 好 willConnect
答案 0 :(得分:0)
如果您将localhost设置为主机,那将无法正常工作。 模拟器将在本地主机上运行,并且您不能在同一本地主机上同时运行。