Я разрабатываю простой клиент ejabberd в C, используя libstrophe. Он подключается и начинает обрабатывать сообщения, как это должно быть сделано.Strophe Unrecoverable TLS error
Однако через некоторое время (после двух или трех пингов с сервера ejabberd) мое соединение закрывается, и статус установлен в DISCONNECTED
. Ниже находится хвост отладочных линий:
xmpp DEBUG Unrecoverable TLS error, 5.
xmpp DEBUG Closing socket.
DEBUG: disconnected event DEBUG Stopping event loop.
event DEBUG Event
oop completed.
Я инициализирую и подключаюсь, как показано ниже.
xmpp_initialize();
/* read connection params */
if(set_xmpp_conn_params(&conn_params) < 0) {
fprintf(stderr, "Could not retrieve connection params from %s\n",
SERVER_CONF_FILE);
return -1;
}
/* initialize the XMPP logger */
xmpp_log = xmpp_get_default_logger(XMPP_LOG_LEVEL);
xmpp_ctx = xmpp_ctx_new(NULL, xmpp_log);
/* create a connection */
xmpp_conn = xmpp_conn_new(xmpp_ctx);
/* login */
xmpp_conn_set_jid(xmpp_conn, conn_params.jid);
xmpp_conn_set_pass(xmpp_conn, conn_params.password);
/* create a client */
xmpp_connect_client( xmpp_conn, conn_params.host, 0,
agent_conn_handler, xmpp_ctx);
/* enter the event loop */
xmpp_run(xmpp_ctx);
/* the code below is executed
whenever connection handler @agent_conn_handler exits */
/* release the connection and context */
xmpp_conn_release(xmpp_conn);
xmpp_ctx_free(xmpp_ctx);
Почему я получаю сообщение об ошибке TLS?
Спасибо.
Вы используете openssl, gnutls или schannel для TLS? –
Да, я использую 'openssl'. –