IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Client de messagerie instantanée serveur OpenFire et agsXMPP api


Sujet :

Windows Forms

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Client de messagerie instantanée serveur OpenFire et agsXMPP api
    Salut à tous je suis entrain de développer un client lourd de messagerie instantanée j'utilise comme précisé dans le titre le serveur Openfire avec l'api agsXMPP SDK dans sa version 1.0 la phase de login et d'authentification au serveur a réussi mais je sèche sur l'envoie et la réception des messages voici le log du serveur (je crois que y'a un problème au niveau de la transmission du message du serveur au client récepteur) mais le xml j'aime pas du tout faut avouer ! :p

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    <jive xmlns="http://www.jivesoftware.org"><packet xmlns="http://www.jivesoftware.org" streamID="355366fc" status="auth" timestamp="mars 18, 2010 02:44:57:817 PM"><presence xmlns="" from="****@****/agsXMPP"><status/><priority>5</priority></presence></packet><packet xmlns="http://www.jivesoftware.org" streamID="1cb32a2c" status="connected" timestamp="mars 18, 2010 02:45:13:667 PM"><message xmlns="" type="chat" to="****@****"><body>TEST MESSAGE</body></message></packet><packet xmlns="http://www.jivesoftware.org" streamID="1cb32a2c" status="connected" timestamp="mars 18, 2010 02:45:13:683 PM"><message xmlns="" type="error" to="****/1cb32a2c"><body>TEST MESSAGE</body><error code="401" type="auth"><not-authorized



    ici il y'a le code de la wf de test de cette fonctionnalité mais je ne crois pas qu'il y ai une erreur à ce niveau la


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Drawing;
    using System.Windows.Forms;
    using agsXMPP;
    using agsXMPP.Collections;
    using agsXMPP.protocol;
    using agsXMPP.protocol.client;
     
     
    namespace WindowsFormsApplication2.tests
    {
        public partial class Test_recep : Form
        {
            public Test_recep()
            {
                InitializeComponent();
            }
     
            private System.ComponentModel.Container components = null;
     
            private agsXMPP.XmppClientConnection _connection;
            private Jid                        m_Jid;
            private System.Windows.Forms.StatusBar statusBar1;
            private System.Windows.Forms.PictureBox pictureBox1;
            private System.Windows.Forms.Button cmdSend;
            private System.Windows.Forms.RichTextBox rtfSend;
            private System.Windows.Forms.Splitter splitter1;
            private System.Windows.Forms.RichTextBox rtfChat;
            private string                    _nickname;
     
     
            public Test_recep(Jid jid, XmppClientConnection con, string nickname)
            {
                m_Jid        = jid;
                _connection = con;
                _nickname    = nickname;
     
     
     
                InitializeComponent();
     
                this.Text = "Chat with " + nickname;
     
                Util.ChatForms.Add(m_Jid.Bare.ToLower(), this);
     
     
                con.MessageGrabber.Add(jid, new BareJidComparer(), new MessageCB(MessageCallback), null);
            }
     
            public Test_recep(Jid jid, XmppClientConnection con, string nickname, bool privateChat)
            {
                m_Jid = jid;
                _connection = con;
                _nickname = nickname;
     
     
     
                InitializeComponent();
     
                this.Text = "Chat with " + nickname;
     
                Util.ChatForms.Add(m_Jid.Bare.ToLower(), this);
     
     
                if (privateChat)
                    con.MessageGrabber.Add(jid, new BareJidComparer(), new MessageCB(MessageCallback), null);
                else
                    con.MessageGrabber.Add(jid, new FullJidComparer(), new MessageCB(MessageCallback), null);
            }
     
            public Jid Jid
            {
                get { return m_Jid; }
                set { m_Jid = value; }
            }
     
            protected override void Dispose( bool disposing )
            {
                if( disposing )
                {
                    if(components != null)
                    {
                        components.Dispose();
                    }
                }
                base.Dispose( disposing );
     
                Util.ChatForms.Remove(m_Jid.Bare.ToLower());
                _connection.MessageGrabber.Remove(m_Jid);
                _connection = null;
            }
     
            #region Form-Designer Code
        // the designer code (not important)
            #endregion
     
            private void OutgoingMessage(agsXMPP.protocol.client.Message msg)
            {
                rtfChat.SelectionColor = Color.Blue;
                rtfChat.AppendText("Me said: ");
                rtfChat.SelectionColor = Color.Black;
                rtfChat.AppendText(msg.Body);
                rtfChat.AppendText("\r\n");
            }
     
            public void IncomingMessage(agsXMPP.protocol.client.Message msg)
            {
                rtfChat.SelectionColor = Color.Red;
                rtfChat.AppendText(_nickname + " said: ");
                rtfChat.SelectionColor = Color.Black;
                rtfChat.AppendText(msg.Body);
                rtfChat.AppendText("\r\n");
            }
     
            private void cmdSend_Click(object sender, System.EventArgs e)
            {
                agsXMPP.protocol.client.Message msg = new agsXMPP.protocol.client.Message();
     
                msg.Type    = MessageType.chat;
                msg.To        = m_Jid;
                msg.Body    = rtfSend.Text;
     
                _connection.Send(msg);
                OutgoingMessage(msg);
                rtfSend.Text = "";
            }
     
            private void MessageCallback(object sender, agsXMPP.protocol.client.Message msg, object data)
            {
                if (InvokeRequired)
                {
     
                    BeginInvoke(new MessageCB(MessageCallback), new object[] { sender, msg, data });
                    return;
                }
     
                if (msg.Body != null)
                    IncomingMessage(msg);
            }
        }
    }
    j'espère qu'on pourra m'aider ! merci d'avance

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    j'ai un peu avancé dans l'analyse du problème et je crois qu'il faut pour openfire que les deux utilisateurs qui communiquent doivent être dans la liste d'amis de chacun mais ca je trouve pas comment le faire directement dans la configuration du serveur encore moins en passant par une commande de l'api

Discussions similaires

  1. multi-user gaming (MUG) : Client XMPP sous android / serveur local openfire
    Par shessuky dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 31/03/2011, 16h15
  2. [Exchange 2003] Utiliser exchange comme serveur de messagerie instantanée (IM)
    Par thered dans le forum Exchange Server
    Réponses: 4
    Dernier message: 23/04/2010, 22h53
  3. Serveur-Client Probleme messagerie entre clients
    Par Aslan78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/04/2007, 22h53
  4. [SOCKET] Client C connecté à un serveur Java
    Par missllyss dans le forum Développement
    Réponses: 2
    Dernier message: 07/06/2004, 13h14
  5. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo