c#事件調用


1. 定義委托

 

public delegate void TcpConnected(Object sender, ref object o);

 

 

2. 定義事件

 

public event TcpConnected Connected;

 

 

3. 掛載事件

 

if (Connected != null)
Connected(this, ref s.obj);

 

 

4. 綁定通知函數

 

serv = new TcpServer(TCPLISTENPORT, IPAddress.Any);
serv.Connected += new TcpConnected(Connected); //當有一個用戶連接

 

 

5.執行通知函數

// A client attached to the tcp port 一個客戶端連接上這個端口
        private void Connected(object sender, ref object t)
        {
            lock (this)
                //lock 確保當一個線程位於代碼的臨界區時,另一個線程不進入臨界區。
                //如果其他線程試圖進入鎖定的代碼,則它將一直等待(即被阻止),直到該對象被釋放。
            {
                t = 0;
                iConnectionCount++;

                if (iConnectionCount == 1)
                {
                    ConnectionReady.Set();
                }
            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM