public override void Send(string data) { base.Send(data); // This are hacks because we send no stream headers and footer in Bosh if (data.StartsWith("<stream:stream")) { if (!streamStarted && !restart) { streamStarted = true; } else { byte[] bin = Encoding.UTF8.GetBytes(DummyStreamHeader); base.FireOnReceive(bin, bin.Length); } return; } if (data.EndsWith("</stream:stream>")) { XMPPProtocol.Protocol.client.Presence pres = new XMPPProtocol.Protocol.client.Presence(); pres.Type = XMPPProtocol.Protocol.client.PresenceType.unavailable; data = pres.ToString(); //= "<presence type='unavailable' xmlns='jabber:client'/>"; terminate = true; } // return; lock (m_SendQueue) { m_SendQueue.Enqueue(data); } if (waitingRequests <= 1) { StartWebRequest(); } }
void m_Xmpp_OnPresence(object sender, XMPPProtocol.Protocol.client.Presence pres) { //throw new NotImplementedException(); }
public override void Send(string data) { base.Send(data); // This are hacks because we send no stream headers and footer in Bosh if (data.StartsWith("<stream:stream")) { if (!streamStarted && !restart) streamStarted = true; else { byte[] bin = Encoding.UTF8.GetBytes(DummyStreamHeader); base.FireOnReceive(bin, bin.Length); } return; } if (data.EndsWith("</stream:stream>")) { XMPPProtocol.Protocol.client.Presence pres = new XMPPProtocol.Protocol.client.Presence(); pres.Type = XMPPProtocol.Protocol.client.PresenceType.unavailable; data = pres.ToString(); //= "<presence type='unavailable' xmlns='jabber:client'/>"; terminate = true; } // return; lock (m_SendQueue) { m_SendQueue.Enqueue(data); } if (waitingRequests <= 1) { StartWebRequest(); } }