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();
                }
            }
        }
复制代码

 

posted @   txwtech  阅读(682)  评论(1编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示