⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icreaderupdatehandler.java

📁 用mina框架编写的转发代理服务程序,含自动更新功能
💻 JAVA
字号:
package com.frontMachine.server;

import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoSession;

import com.frontMachine.setting.ServerSetting;
import com.frontMachine.util.ErrMsg;
import com.frontMachine.util.StrUtil;

public class ICReaderUpdateHandler extends UDServerHandler
{
	public void sessionOpened(IoSession session) throws Exception 
	{
		if(Files4ICReaderSys.getInstance().isLocked())//如果下载目录被锁,则此次请求被拒绝
		{
			session.write(ErrMsg.UD_FILEDIR_LOCKED);
			session.close();
			return;
		}
		session.setIdleTime( IdleStatus.BOTH_IDLE, ServerSetting.getInstance().getIdleTime() );
		Files4ICReaderSys.getInstance().reflashDIR();
		dlfiles=Files4ICReaderSys.getInstance().getDlfiles();
		fmsgPack=Files4ICReaderSys.getInstance().fileMsgPack();	
	}
	
	public void messageReceived(IoSession session, Object message) throws Exception 
	{
		
		//System.out.println(message.toString());
		if(dlfiles.length==0) //下载目录中没有可下载的文件
		{
			session.write(ErrMsg.UD_FILEDIR_NODLFILE);
			session.close();
			return;
		}
		int fi=((Integer)session.getAttribute("fileIndex")).intValue();
		String fn_reqidx=StrUtil.getXMLData(message.toString(),"filename");
		String f_reqidx=StrUtil.getXMLData(message.toString(),"file");
		if(fn_reqidx != "")
		{
			if(Integer.parseInt(fn_reqidx)==fi)
			{
				session.write(fmsgPack[fi]);
			}
			else
			{
				session.write("<updateable>false</updateable>");
				session.close();
				return;
			}		
		}
					
		if(f_reqidx != "")
		{
			synchronized(Files4ICReaderSys.getInstance())
			{
				if(Integer.parseInt(f_reqidx)==fi)
				{
					senddata(session,
							dlfiles[fi],
							ServerSetting.getInstance().getSendPartSize(),
							Files4ICReaderSys.getInstance());
					fi++;
					session.setAttribute("fileIndex",new Integer(fi));
				}
				else
				{
					session.write("<updateable>false</updateable>");
					session.close();
				}
		    }
		}
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -