try catch finally return

复制代码
  public override bool Start(IServerConfig config)
        {
            bool flag = true;
            listenSocket = new Socket(ListenerInfo.IpEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                listenSocket.Bind(ListenerInfo.IpEndPoint);
                listenSocket.Listen(ListenerInfo.BackLog);

                SocketAsyncEventArgs tempSocketAsyncEventArgs = new SocketAsyncEventArgs();
                socketAsyncEventArgs = tempSocketAsyncEventArgs;
                tempSocketAsyncEventArgs.Completed += TempSocketAsyncEventArgs_Completed;

                bool willRaiseEvent = listenSocket.AcceptAsync(tempSocketAsyncEventArgs);
                if (willRaiseEvent == false)
                {
                    ProcessAccept(tempSocketAsyncEventArgs);
                }
            }
            catch (Exception ex)
            {
                OnError(new ErrorEventArgs {Exception = ex});
                flag = false;
            }
            return flag;
        }
复制代码

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(202)  评论(0编辑  收藏  举报
编辑推荐:
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· 使用 Dify + LLM 构建精确任务处理应用
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处
点击右上角即可分享
微信分享提示