<?xml version='1.0'?>
<stream:stream
to='example.com'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'>看了一下 关于XMMP协议
客户端 这样发送给 服务器 然后服务器给的回复是<?xml version='1.0'?>
<stream:stream
from='example.com'
id='someid'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'>
… encryption, authentication, and resource binding ...
现在用的是建立了个TCP连接然后发送 得到的回复是
 HTTP/1.1 400 Bad Request问题
1.
<?xml version='1.0'?>
<stream:stream
to='example.com' //这里需要写的是??
xmlns='jabber:client' //这里需要写的是??固定格式??
xmlns:stream='http://etherx.jabber.org/streams'//这里需要写的是??固定格式??
version='1.0'>

解决方案 »

  1.   


    ………………xmpp…………
    to='example.com'//这里该写什么啊??
      

  2.   

    to='example.com' 这个是服务器地址啊
    xmlns='jabber:client' 这个是命名空间,表示你发的是何种消息
    openfire启动的时候add了很多listener
    接到xml消息后会运行一个parse方法,根据你的xmlns是什么,然后构建对应的bean,
    再创建reply bean
    然后reply bean to xml,再调send方法
    就是两端各有一个bean和xml的相互转化,构成一个协议
    如果要扩展协议,就自己定义新的命名空间,注册一下监听,新写toxml()和parse()
    可以参考一下smack包的IQ扩展方法
      

  3.   

    连接端口改为 5222了
    发送
    <?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='280393705@king' version='1.0'>接收到的。怎么感觉和协议里面的不一样啊???纠结了……
    <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="wing-b941d03be3" id="75fa5983" xml:lang="en" version="1.0"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features></stream:stream>
      

  4.   

    有什么不对的?
    就是个spark的登录消息啊
    C:<stream:stream to="1" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0"> S:<stream:stream from='hp520' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='a7747277-ad62-4813-b739-63504d6e1246' version='1.0' xml:lang='zh-cn'> S:<stream:features xmlns="http://etherx.jabber.org/streams"><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" /><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth" /><register xmlns="http://jabber.org/features/iq-register" /></stream:features>
      

  5.   


    返回的东西不一样啊…………
    而且我接收到的返回把 </stream:stream> 这个都给关了