openSocket method
Implementation
Future<void> openSocket() async {
connectionNegotatiorManager.init();
setState(XmppConnectionState.SocketOpening);
try {
var socket = xmppSocket.createSocket();
return await socket
.connect(
account.host ?? account.domain,
account.port,
wsProtocols: account.wsProtocols,
wsPath: account.wsPath,
map: prepareStreamResponse,
)
.then((socket) {
// if not closed in meantime
if (_state != XmppConnectionState.Closed) {
setState(XmppConnectionState.SocketOpened);
_socket = socket;
socket.listen(handleResponse, onDone: handleConnectionDone);
_openStream();
} else {
Log.d(TAG, 'Closed in meantime');
socket.close();
}
});
} catch (error) {
Log.e(TAG, 'Socket Exception' + error.toString());
handleConnectionError(error.toString());
}
}