Package net.solosky.maplefetion.net

Examples of net.solosky.maplefetion.net.TransferException


        }
        TicketHelper helper = new TicketHelper(ticket);
       
        //然后连接聊天服务器,建立处理链
        Transfer transfer = this.buildTransfer(helper.getPortList());
        if(transfer==null) throw new TransferException("Cannot connect to chat server.");
        this.buildProcessorChain(transfer);
       
        //发送注册信息
        this.register(helper.getCredential());
       
View Full Code Here


     
      reader = socket.getInputStream();
          writer = socket.getOutputStream();
        } catch (IOException e) {
          logger.warn("Cannot connect to "+port.toString()+"!!!!");
          throw new TransferException(e);
        }
    userCloseFlag = false;
  }
View Full Code Here

            len = reader.read(buff, 0, buff.length);
            //这里还需要判断是否读取到流的末尾,否则会进入死循环,通常返回-1表示流的结尾
            //如果读取到结尾,表明是服务器主动关闭了连接,抛出这个异常,通知上层做资源清理工作
            if(len==-1)  {
              logger.debug("Connection closed by server.."+socket);
              raiseException(new TransferException("Connection closed by server. "+socket));
              break;
            }else {
              bytesRecived(buff, 0, len);
            }
          }
        } catch (IOException e) {
          //当发生IO异常时可能是网络出现问题,也可能是用户关闭了连接,这里需要判断下
          if(!userCloseFlag) {
            logger.warn("Connection error.. "+socket);
            raiseException(new TransferException(e));
          }else {
            logger.debug("Connection closed by user.."+socket);
          }
        }
       
View Full Code Here

    {
      try {
          this.writer.write(buff, offset, len);
          this.writer.flush();
        } catch (IOException e) {
         throw new TransferException(e);
        }
     
    }
View Full Code Here

               throw new RequestTimeoutException();
             }
            
             //如果当前事件是传输错误事件,抛出传输异常
             if(this.event.getEventType()==ActionEventType.TRANSFER_ERROR){
               throw new TransferException();
             }
            
             //如果当前事件是系统错误事件,抛出系统错误异常
             if(this.event.getEventType()==ActionEventType.SYSTEM_ERROR){
               SystemErrorEvent evt = (SystemErrorEvent) this.event;
View Full Code Here

  /**
   * 有错误发生
   */
  public void handleException(Throwable throwable)
  {
    this.raiseException(new TransferException(throwable));
  }
View Full Code Here

   * 服务关闭了连接
   */
  public void connectionClosed()
  {
    if(!this.isUserClosed)
      this.raiseException(new TransferException("Server closed connection.."));
  }
View Full Code Here

    
     //等待连接结果
       try {
      cf.await();
    } catch (InterruptedException e) {
      throw new TransferException(e);
    }
   
    //判断是否连接成功,如果不成功抛出异常
    if(!cf.isConnected())
      throw new TransferException("Connecting to "+port+" failed..");
   
    Transfer transfer = new MinaTransfer(cf.getSession());
    cf.getSession().setAttribute(MinaTransfer.class, transfer);
   
       return transfer;
View Full Code Here

            lock.wait();
            if(this.isTimeout) {
              throw new RequestTimeoutException();
            }
            if(this.isError) {
              throw new TransferException();
            }

          this.isWaiting = false;
          return this.response;
        }
View Full Code Here

     * @see net.solosky.maplefetion.net.TransferFactory#createTransfer(net.solosky.maplefetion.net.Port)
     */
    @Override
    public Transfer createTransfer(Port port) throws TransferException
    {
      throw new TransferException("HttpTransfer only support one active transfer..");
    }
View Full Code Here

TOP

Related Classes of net.solosky.maplefetion.net.TransferException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.