jabberstreamwriter.cs

来自「语音视频功能 里面实现了基本的QQ与语音对话」· CS 代码 · 共 56 行

CS
56
字号
//#define STRIP
using System;
using System.Xml;
using System.Xml.Serialization;

using gowk.core.packets;
using gowk.core.serizlize;
namespace gowk.core
{
	/// <summary>
	/// JabberStreamWriter 的摘要说明。
	/// </summary>
	public class JabberStreamWriter
	{
		private JabberStream _Stream;
		public JabberStreamWriter()
		{
			this._Stream=null;
		}
		
		public JabberStream Stream
		{
			get{return this._Stream;}
			set{this._Stream=value;}
		}
		public void StartStream(string host)
		{
			this.Write("<stream:stream to=\"" + host + "\" xmlns=\"jabber:client\" xmlns:stream=\"http://etherx.jabber.org/streams\">");
		}
		public void Write(Packet p)
		{
			JabberSerizlizer jser=JabberSerizlizer.Instance;
            string s=jser.Serialize(p);
			this.Write(s);
		}
		public void Write(string txt)
		{
#if STRIP
			txt=txt.Replace("\r\n","");
			txt=txt.Trim();
			for(int i=0;i<20;i++)
			{
				txt=txt.Replace("  ","");
			}
			txt=txt.Replace("> <","><");
#endif
			byte[] bs=System.Text.Encoding.UTF8.GetBytes(txt);
			this._Stream.Write(bs);
		}
		public void Flush()
		{
		//	this._Stream.Flush();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?