1

Libstrophe を使用して C でチャット クライアントを作成しようとしています。https://github.com/metajack/libstrophe/blob/master/examples/active.cにある次のコード例を参照しました 。コードには、xmpp との接続を確立するための xmpp_connect_client(...) の呼び出しがあります。サーバ。

 int main(int argc, char **argv)
 {
xmpp_ctx_t *ctx;
xmpp_conn_t *conn;

if (argc != 3) {
    fprintf(stderr, "Usage: active <jid> <pass>\n\n");
    return 1;
}

/* initialize lib */
xmpp_initialize();

/* create a context */
ctx = xmpp_ctx_new(NULL, NULL);

/* create a connection */
conn = xmpp_conn_new(ctx);

/* setup authentication information */
xmpp_conn_set_jid(conn, argv[1]);
xmpp_conn_set_pass(conn, argv[2]);

/* initiate connection */
xmpp_connect_client(conn, "talk.google.com", 0, conn_handler, ctx);

/* start the event loop */
xmpp_run(ctx);

/* release our connection and context */
xmpp_conn_release(conn);
xmpp_ctx_free(ctx);

/* shutdown lib */
xmpp_shutdown();

return 0;

しかし、認証はどこで行われるのでしょうか? libstrophe のソース コードを調べたところ、 _auth(..) という関数を含む C ファイル auth.c https://github.com/metajack/libstrophe/blob/master/src/auth.cが見つかりました。コードで _auth(..) を使用しようとしましたが、認証が正しく実行されません。つまり、ユーザー名やパスワードが間違っていても通知されません。私のエンティティを認証する正しい方法を教えてください。

4

1 に答える 1