zoukankan      html  css  js  c++  java
  • socket 异常类型

    对各种异常进行处理
      /// <summary>
            
    /// 根据错误号作出处理
            
    /// </summary>
            
    /// <param name="error"></param>
            
    /// <param name="client"></param>
            private void CatchWithSocketError(SocketError error, ServerMessage client)
            {
                
    #region 各种错误号
                
    //AccessDenied已试图通过被其访问权限禁止的方式访问 Socket。 
                
    //ConnectionAborted此连接由 .NET Framework 或基础套接字提供程序中止。 
                
    // Disconnecting正常关机正在进行中。
                
    //Fault 基础套接字提供程序检测到无效的指针地址。  
                 
    //HostDown 由于远程主机被关闭,操作失败。  
                 
    //HostNotFound 无法识别这种主机。该名称不是正式的主机名或别名。  
                 
    //HostUnreachable 没有到指定主机的网络路由。  
                 
    //InProgress 阻止操作正在进行中。  
                 
    //Interrupted 已取消阻止 Socket 调用的操作。  
                 
    //InvalidArgument 给 Socket 成员提供了一个无效参数。  
                 
    //IOPending 应用程序已启动一个无法立即完成的重叠操作。  
                 
    //IsConnected Socket 已连接。  
                 
    //MessageSize 数据报太长。  
                 
    //NetworkDown 网络不可用。  
                 
    //NetworkReset 应用程序试图在已超时的连接上设置 KeepAlive。  
                 
    //NetworkUnreachable 不存在到远程主机的路由。  
                 
    //NoBufferSpaceAvailable 没有可用于 Socket 操作的可用缓冲区空间。  
                 
    //NoData 在名称服务器上找不到请求的名称或 IP 地址。  
                 
    //NoRecovery 错误不可恢复或找不到请求的数据库。  
                 
    //NotConnected 应用程序试图发送或接收数据,但是 Socket 未连接。  
                 
    //NotInitialized 尚未初始化基础套接字提供程序。  
                 
    //NotSocket 对非套接字尝试 Socket 操作。  
                 
    //OperationAborted 由于 Socket 已关闭,重叠的操作被中止。  
                 
    //OperationNotSupported 协议族不支持地址族。  
                 
    //ProcessLimit 正在使用基础套接字提供程序的进程过多。  
                 
    //ProtocolFamilyNotSupported 未实现或未配置协议族。  
                 
    //ProtocolNotSupported 未实现或未配置协议。  
                 
    //ProtocolOption 对 Socket 使用了未知、无效或不受支持的选项或级别。  
                 
    //ProtocolType 此 Socket 的协议类型不正确。  
                 
    //Shutdown 发送或接收数据的请求未得到允许,因为 Socket 已被关闭。  
                 
    //SocketError 发生了未指定的 Socket 错误。  
                 
    //SocketNotSupported 在此地址族中不存在对指定的套接字类型的支持。  
                 
    //Success Socket 操作成功。  
                 
    //SystemNotReady 网络子系统不可用。  
                 
    //TimedOut 连接尝试超时,或者连接的主机没有响应。  
                 
    //TooManyOpenSockets 基础套接字提供程序中打开的套接字太多。  
                 
    //TryAgain 无法解析主机名。请稍后重试。  
                 
    //TypeNotFound 未找到指定的类。  
                 
    //VersionNotSupported 基础套接字提供程序的版本超出范围。  
                
    //WouldBlock 对非阻止性套接字的操作不能立即完成。 
                #endregion

                
    if (error == SocketError.Disconnecting || error == SocketError.Fault || error == SocketError.IsConnected || error == SocketError.SocketError)
                {
                    client.Socket.Close();
                    ui.Post(
    this.uiDisPlay.delUser, client);
                }
                
    if (error == SocketError.MessageSize || error == SocketError.NotConnected || error == SocketError.ProcessLimit || error == SocketError.TooManyOpenSockets)
                {
                    client.Socket.Close();
                    ui.Post(
    this.uiDisPlay.delUser, client);
                }
            }
  • 相关阅读:
    robotium(及百度cafe)运行testcase之后程序挂起没有响应的原因调查及解决
    python——请求服务器(http请求和https请求)
    Django项目:CRM(客户关系管理系统)--65--55PerfectCRM实现CRM客户报名状态颜色变化
    Django项目:CRM(客户关系管理系统)--64--54PerfectCRM实现CRM客户报名链接
    Django项目:CRM(客户关系管理系统)--63--53PerfectCRM实现CRM客户报名流程缴费
    Django项目:CRM(客户关系管理系统)--62--52PerfectCRM实现CRM客户报名流程学生合同审核
    Django项目:CRM(客户关系管理系统)--60--50PerfectCRM实现CRM客户报名流程学生合同URL随机码
    Django项目:CRM(客户关系管理系统)--59--49PerfectCRM实现CRM客户报名流程学生合同表单验证
    Django项目:CRM(客户关系管理系统)--58--48PerfectCRM实现CRM客户报名流程学生合同
    Django项目:CRM(客户关系管理系统)--56--47PerfectCRM实现CRM客户报名流程01
  • 原文地址:https://www.cnblogs.com/chuncn/p/1722327.html
Copyright © 2011-2022 走看看