首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c#中使用agsxmpp进行gtalk配置?

如何在c#中使用agsxmpp进行gtalk配置?
EN

Stack Overflow用户
提问于 2014-01-27 06:16:37
回答 1查看 871关注 0票数 1

我有一些C#中XMPP消息传递的代码。我无法向其他用户发送信息。

代码语言:javascript
复制
using agsXMPP;
using agsXMPP.protocol.client;
using agsXMPP.Collections;
using agsXMPP.protocol.iq.roster;
using System.Threading;
using Microsoft.Win32;

public partial class Talk : Form
{
   agsXMPP.XmppClientConnection objXmpp;

    public Talk()
    {
        InitializeComponent();
    }

    private void btnSend_Click(object sender, EventArgs e)
    {
        XmppClientConnection xmpp = new XmppClientConnection();
        xmpp.Server = "gmail.com";
        xmpp.ConnectServer = "talk.google.com";
        xmpp.Port = 5222;
        xmpp.Username = "Sender@gmail.com";
        xmpp.Password = "******";
        xmpp.Open();

        agsXMPP.Jid JID = new Jid("receiver@gmail.com");

        xmpp.MesagageGrabber.Add(JID, new agsXMPP.Collections.BareJidComparer(), new MessageCB(MessageCallBack), null);

        agsXMPP.protocol.client.Message msg = new agsXMPP.protocol.client.Message();
        msg.Type = agsXMPP.protocol.client.MessageType.chat;
        msg.To = JID;
        msg.Body = " asdfasdfasdf " ;// simple string 

        xmpp.OnLogin += delegate(object o) { xmpp.Send(msg); };

        xmpp.Close();


    }
    static void MessageCallBack(object sender,agsXMPP.protocol.client.Message msg,object data)
    {
        if (msg.Body != null)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("{0}>> {1}", msg.From.User, msg.Body);
            Console.ForegroundColor = ConsoleColor.Green;
        }
    }
}

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2014-01-28 07:04:42

1)用户名是发送方(小写),而不是sender@gmail.com是完整的Jid

2) agsXMPP是完全异步的。这意味着您的xmpp.Open()调用不会阻塞。在连接建立之前,您将运行并关闭该连接。

3)查看agsXMPP示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21374187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档