managerbase.cs

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

CS
60
字号
#define Client
using System;
using System.IO;
using System.Xml;
using System.Threading;
using System.Collections;

using gowk.core.packets;
using gowk.net.Sockets;
using gowk.net;
using System.Windows.Forms;

namespace gowk.core.managers
{
	public abstract class ManagerBase
	{
		JabberClient jc;
		public ManagerBase()
		{
		}
		public ManagerBase(JabberClient jc):this()
		{
			this.jc=jc;
			PacketTracker.Instance.JabberClient=jc;
		}

		public JabberClient JabberClient
		{
			get{return this.jc;}
			set
			{
				this.jc=value;
				PacketTracker.Instance.JabberClient=jc;
			}
		}
		protected internal virtual bool OnMessage(Packet pack)
		{
			return false;
		}
		protected void Invoke(Delegate method, object[] args)
		{
			Control c=jc.Control;
			if(c!=null && c.InvokeRequired)
			{
				c.BeginInvoke(method,args);return;
			}
			method.DynamicInvoke(args);
		}
		public void Send(Packet p,JabberCallBack cb,int timeout)
		{
			if(cb!=null && timeout>0)
				PacketTracker.Instance.Track(p,cb,timeout);
			jc.JabberStreamWriter.Write(p);
		}
		public void Send(Packet p)
		{
			jc.JabberStreamWriter.Write(p);
		}
	}
}

⌨️ 快捷键说明

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