l SipSnoop中的三个委托:
一、委托DisconnectListener
public delegate void DisconnectListener(string reason);
声明一个委托类型DisconnectListener,这个委托类型的描述参数是string类型reason。
二、委托StateChangeListener
public delegate void StateChangeListener(EventArgs args);
声明一个委托类型StateChangeListener,这个委托类型的描述参数是EventArgs类型的args。
三、委托ConnectionDroppedEventHandler
声明事件委托:public delegate void ConnectionDroppedEventHandler(object sender, ConnectionDroppedEventArgs e); ConnectionDroppedEventHandler位于Sip命名空间内,当一个SereverAgent对象从Live Communications Server断开时该委托句柄ServerAgent.ConnectionDropped事件触发。
l SipSnoop中委托的几个要素:
1 在委托StateChangeListener中:
1.1 激发事件的对象:sessionManager
1.2 处理对象事件的对象:Form1
1.3 委托监视:sessionManager.StateChangeListeners += new SessionManager.StateChangeListener(this.StateChangeListener);
1.4 场景描述: Form1对象监视sessionManager,如果sessionManager对象发现StateChangeListeners的改变时,执行StateChangeListener方法。其间,判断StateChangeListeners是否改变是通过RequestHandler的得到的(关于RequestHandler可参考[LCS]深入了解SipSnoop—事件篇 )。
2 在委托DisconnectListener中:
2.1 激发事件的对象:sessionManager
2.2 处理事件的对象:Form1
2.3 委托监视:sessionManager.DisconnectListeners += new SessionManager.DisconnectListener(this.DisconnectListener);
2.4 场景描述:Form1对象监视sessionManager,如果sessionManager对象发现DisconnectListeners改变时,执行DisconnectListener方法。其间,判断DisconnectListeners是否改变是通过ConnectionDroppedHandler得到的。
3 在委托ConnectionDroppedEventHandler中:
3.1 激发事件的对象:serverAgent
3.2 处理对象事件的对象:SessionManager
3.3 委托监视:serverAgent.ConnectionDropped += new ConnectionDroppedEventHandler(this.ConnectionDroppedHandler);
3.4 场景描述:SessionManager对象监视Serveragnet,如果Serveragent因某种原因与LCS连接断开时,执行SessionManager的ConnectionDroppedHandler方法。
Created by MyXQ
2005-6-10
Created by MyXQ
2005-6-10