• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java IdleStatus类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.mina.core.session.IdleStatus的典型用法代码示例。如果您正苦于以下问题:Java IdleStatus类的具体用法?Java IdleStatus怎么用?Java IdleStatus使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IdleStatus类属于org.apache.mina.core.session包,在下文中一共展示了IdleStatus类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: main

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public static void main(String[] args) throws IOException {

		IoAcceptor acceptor = new NioSocketAcceptor();
		// 这个过滤器用来记录所有的信息,比如创建session(会话),接收消息,发送消息,关闭会话等
		acceptor.getFilterChain().addLast("logger", new LoggingFilter());
		// 用来转换二进制或协议的专用数据到消息对象中
		acceptor.getFilterChain().addLast("codec",
				new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));

		// 实时处理客户端的连接和请求
		acceptor.setHandler(new TimeServerHandler());
		acceptor.getSessionConfig().setReadBufferSize(2048);
		// 方法将定时调用一次会话,保持空闲状态。来设定时间间隔。
		acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
		acceptor.bind(new InetSocketAddress(PORT));
	}
 
开发者ID:handexing,项目名称:frameworkAggregate,代码行数:17,代码来源:MinaTimeServer.java


示例2: deliverEvent

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
/**
 * Static method which effectively delivers the specified event to the next filter
 * <code>nextFilter</code> on the <code>session</code>.
 * 
 * @param nextFilter the next filter
 * @param session the session on which the event occured
 * @param type the event type
 * @param status the idle status should only be non null only if the event type is 
 * {@link IoSessionEventType#IDLE} 
 */
private static void deliverEvent(final NextFilter nextFilter, final IoSession session,
        final IoSessionEventType type, final IdleStatus status) {
    switch (type) {
    case CREATED:
        nextFilter.sessionCreated(session);
        break;
    case OPENED:
        nextFilter.sessionOpened(session);
        break;
    case IDLE:
        nextFilter.sessionIdle(session, status);
        break;
    case CLOSED:
        nextFilter.sessionClosed(session);
        break;
    }
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:28,代码来源:IoSessionEvent.java


示例3: KeepAliveFilter

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
/**
 * Creates a new instance.
 */
public KeepAliveFilter(KeepAliveMessageFactory messageFactory, IdleStatus interestedIdleStatus,
        KeepAliveRequestTimeoutHandler policy, int keepAliveRequestInterval, int keepAliveRequestTimeout) {
    if (messageFactory == null) {
        throw new IllegalArgumentException("messageFactory");
    }
    if (interestedIdleStatus == null) {
        throw new IllegalArgumentException("interestedIdleStatus");
    }
    if (policy == null) {
        throw new IllegalArgumentException("policy");
    }

    this.messageFactory = messageFactory;
    this.interestedIdleStatus = interestedIdleStatus;
    requestTimeoutHandler = policy;

    setRequestInterval(keepAliveRequestInterval);
    setRequestTimeout(keepAliveRequestTimeout);
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:23,代码来源:KeepAliveFilter.java


示例4: sessionIdle

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public void sessionIdle(IoSession session, IdleStatus status) {
    	//向服务端发送心跳消息
    	/*IoBuffer buffer1 = IoBuffer.allocate(28).setAutoExpand(true);
    	buffer1.put("<aa><aa><aa><ab>".getBytes());
    	buffer1.put(new byte[]{0, 10, 0, 0, 0, 0, 0, 0, 0, 0});
    	buffer1.flip();
		session.write(buffer1);*/
//		logger.debug("发送IDLE消息:" + session);
		if (System.currentTimeMillis() - session.getLastReadTime() > 60000) {
			String sErrMsg = (System.currentTimeMillis() - session.getLastReadTime()) + "毫秒没有收到消息,主动断开连接" + session; 
			logger.fatal(sErrMsg);
			mSockClient.close(true);
//			EMail email = new EMail(new String[]{"[email protected]"}, sErrMsg, sErrMsg);
//			email.send();
		}
    }
 
开发者ID:langxianwei,项目名称:iot-plat,代码行数:17,代码来源:ClientHandler.java


示例5: sessionIdle

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public void sessionIdle(IoSession session, IdleStatus status)throws Exception {
	logger.info("客户端sessionIdle, " + (System.currentTimeMillis() - session.getLastReadTime()) + "毫秒没有上行。" + session.getRemoteAddress());
  		if((System.currentTimeMillis()-session.getLastReadTime())>1000*60*10){
  			Object userID = (Object)0;
  			if(session.containsAttribute("UserID")){    			
  				 userID = session.getAttribute("UserID");
  			}
		logger.info(" Player["+userID.toString()+"] -------------------------------------------Out of time, close user session  lastReadTime:"+session.getLastReadTime()+"["+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:ms").format(new Date(session.getLastReadTime()))+"]   now:"+System.currentTimeMillis()+"["+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:ms").format(new Date(System.currentTimeMillis()))+"]  session:"+session.getRemoteAddress());
		logger.info(session.getId()+"  -----------------------------------------Out of time, close user session");
		logger.info("System.currentTimeMillis():"+format(System.currentTimeMillis()));
		logger.info("session.getLastIoTime():"+format(session.getLastIoTime()));
		logger.info("session.getLastBothIdleTime():"+format(session.getLastBothIdleTime()));
		logger.info("session.getLastReaderIdleTime():"+format(session.getLastReaderIdleTime()));
		logger.info("session.getLastReadTime():"+format(session.getLastReadTime()));
		logger.info("session.getLastWriterIdleTime():"+format(session.getLastWriterIdleTime()));
		logger.info("session.getLastWriteTime():"+format(session.getLastWriteTime()));
		session.closeOnFlush();
   	}
}
 
开发者ID:langxianwei,项目名称:iot-plat,代码行数:20,代码来源:ServerHandler.java


示例6: Channel

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public Channel(final int world, final int channel) {
    this.world = world;
    this.channel = channel;
    this.mapFactory = new MapleMapFactory(MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/Map.wz")), MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/String.wz")), world, channel);

    try {
        eventSM = new EventScriptManager(this, ServerConstants.EVENTS.split(" "));
        port = 7575 + this.channel - 1;
        port += (world * 100);
        ip = ServerConstants.HOST + ":" + port;
        IoBuffer.setUseDirectBuffer(false);
        IoBuffer.setAllocator(new SimpleBufferAllocator());
        acceptor = new NioSocketAcceptor();
        TimerManager.getInstance().register(new respawnMaps(), 10000);
        acceptor.setHandler(new MapleServerHandler(world, channel));
        acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 30);
        acceptor.getFilterChain().addLast("codec", (IoFilter) new ProtocolCodecFilter(new MapleCodecFactory()));
        acceptor.bind(new InetSocketAddress(port));
        ((SocketSessionConfig) acceptor.getSessionConfig()).setTcpNoDelay(true);

        eventSM.init();
        System.out.println("    Channel " + getId() + ": Listening on port " + port);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:NovaStory,项目名称:AeroStory,代码行数:27,代码来源:Channel.java


示例7: main

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
    // 创建服务器端的监听器对象
    IoAcceptor acceptor = new NioSocketAcceptor();
    // 增加日志过滤器:用于日志存储
    acceptor.getFilterChain().addLast("logger", new LoggingFilter());
    // 增加消息编码过滤器,采用UTF-8编码
    acceptor.getFilterChain().addLast("codec",
            new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
    // 设置具体的事物逻辑处理器
    acceptor.setHandler(new TimeServerHandler());
    // 设置IoSession的一些属性
    acceptor.getSessionConfig().setReadBufferSize(2048);
    acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
    // 设置服务器监听的端口
    acceptor.bind(new InetSocketAddress(PORT));
}
 
开发者ID:subaochen,项目名称:java-tutorial,代码行数:17,代码来源:MinaTimeServer.java


示例8: main

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
        IoAcceptor acceptor = new NioSocketAcceptor();
//        acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, IDELTIMEOUT);

        acceptor.getFilterChain().addLast("logger", new LoggingFilter());
        acceptor.getFilterChain().addLast("myfliter", new MyFilter());
        acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new CommandCodecFactory("UTF-8")));

        KeepAliveMessageFactoryImpl kamfi = new KeepAliveMessageFactoryImpl();
        KeepAliveFilter kaf = new KeepAliveFilter(kamfi, IdleStatus.BOTH_IDLE);
        /** 是否回发 */
        kaf.setForwardEvent(true);
        acceptor.getFilterChain().addLast("heart", kaf);

        acceptor.setHandler(new CalculatorHandler());
        acceptor.bind(new InetSocketAddress(PORT));

        log.debug("socket通信服务端已启动,端口是" + PORT);
    }
 
开发者ID:Keybo1013,项目名称:mina,代码行数:20,代码来源:CalculatorServer.java


示例9: sessionIdle

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
    com.lts.remoting.Channel channel = new MinaChannel(session);

    final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(channel);

    if (IdleStatus.BOTH_IDLE == status) {
        LOGGER.info("{}: IDLE [{}]", sideType, remoteAddress);
        RemotingHelper.closeChannel(channel);
    }

    if (remoting.getChannelEventListener() != null) {
        RemotingEventType remotingEventType = null;
        if (IdleStatus.BOTH_IDLE == status) {
            remotingEventType = RemotingEventType.ALL_IDLE;
        } else if (IdleStatus.READER_IDLE == status) {
            remotingEventType = RemotingEventType.READER_IDLE;
        } else if (IdleStatus.WRITER_IDLE == status) {
            remotingEventType = RemotingEventType.WRITER_IDLE;
        }
        remoting.putRemotingEvent(new RemotingEvent(remotingEventType,
                remoteAddress, channel));
    }
}
 
开发者ID:WenZuHuai,项目名称:light-task-scheduler,代码行数:25,代码来源:MinaHandler.java


示例10: init

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
private void init(Config config) {
    address = new InetSocketAddress(config.sourcePort);
    acceptor = new NioSocketAcceptor();
    if (acceptor.getFilterChain().get(LOGGER) == null) {
        acceptor.getFilterChain().addLast(LOGGER, new LoggingFilter());
    }
    if (acceptor.getFilterChain().get(CODEC) == null) {
        ProtocolCodecFactory codecFactory = config.codec == null ?
                MinaUtil.getTextLineCodecFactory() : (ProtocolCodecFactory) config.codec;
        acceptor.getFilterChain().addLast(CODEC, new ProtocolCodecFilter(codecFactory));
    }
    acceptor.setHandler(new MinaServerHandler());
    acceptor.getSessionConfig().setReadBufferSize(config.bufferSize);
    acceptor.getSessionConfig().setIdleTime(IdleStatus.WRITER_IDLE, 10);
    acceptor.setReuseAddress(true); //避免重启时提示地址被占用
    //设置主服务监听端口的监听队列的最大值为50,如果当前已经有50个连接,新的连接将被服务器拒绝
    acceptor.setBacklog(50);

    KeepAliveFilter keepAliveFilter = MinaUtil.initServerKeepAlive(config, this);
    if (keepAliveFilter != null) {
        acceptor.getFilterChain().addLast(HEARTBEAT, keepAliveFilter);
    }
}
 
开发者ID:EthanCo,项目名称:Halo-Turbo,代码行数:24,代码来源:MinaTcpServerSocket.java


示例11: init

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
private void init(Config config) {
    connector = new NioDatagramConnector();
    connector.setHandler(new MinaClientHandler());
    DefaultIoFilterChainBuilder chain = connector.getFilterChain();
    if (connector.getFilterChain().get(LOGGER) == null) {
        chain.addLast(LOGGER, new LoggingFilter());
    }
    if (connector.getFilterChain().get(CODEC) == null) {
        ProtocolCodecFactory codecFactory = config.codec == null ?
                MinaUtil.getTextLineCodecFactory() : (ProtocolCodecFactory) config.codec;
        chain.addLast(CODEC, new ProtocolCodecFilter(codecFactory));
    }
    connector.getSessionConfig().setReadBufferSize(config.bufferSize);
    connector.getSessionConfig().setIdleTime(IdleStatus.WRITER_IDLE, 10);
    connector.getSessionConfig().setBroadcast(true);
    KeepAliveFilter keepAliveFilter = MinaUtil.initClientKeepAlive(config, this);
    if (keepAliveFilter != null) {
        connector.getFilterChain().addLast(HEARTBEAT, keepAliveFilter);
    }
}
 
开发者ID:EthanCo,项目名称:Halo-Turbo,代码行数:21,代码来源:MinaUdpClientSocket.java


示例12: init

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
private void init(Config config) {
    address = new InetSocketAddress(config.targetIP, config.targetPort);
    connector = new NioSocketConnector();
    connector.setDefaultRemoteAddress(address);
    if (connector.getFilterChain().get(LOGGER) == null) {
        connector.getFilterChain().addLast(LOGGER, new LoggingFilter());
    }
    if (connector.getFilterChain().get(CODEC) == null) {
        ProtocolCodecFactory codecFactory = config.codec == null ?
                MinaUtil.getTextLineCodecFactory() : (ProtocolCodecFactory) config.codec;
        connector.getFilterChain().addLast(CODEC, new ProtocolCodecFilter(codecFactory));
    }
    connector.setHandler(new MinaClientHandler());
    connector.getSessionConfig().setReadBufferSize(config.bufferSize);
    connector.getSessionConfig().setIdleTime(IdleStatus.WRITER_IDLE, 10);
    KeepAliveFilter keepAliveFilter = MinaUtil.initClientKeepAlive(config, this);
    if (keepAliveFilter != null) {
        connector.getFilterChain().addLast(HEARTBEAT, keepAliveFilter);
    }
}
 
开发者ID:EthanCo,项目名称:Halo-Turbo,代码行数:21,代码来源:MinaTcpClientSocket.java


示例13: init

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
private void init(Config config) {
    address = new InetSocketAddress(config.sourcePort);

    acceptor = new NioDatagramAcceptor();
    acceptor.setHandler(new MinaServerHandler());
    DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
    if (acceptor.getFilterChain().get(LOGGER) == null) {
        chain.addLast(LOGGER, new LoggingFilter());
    }
    if (acceptor.getFilterChain().get(CODEC) == null) {
        ProtocolCodecFactory codecFactory = config.codec == null ?
                MinaUtil.getTextLineCodecFactory() : (ProtocolCodecFactory) config.codec;
        chain.addLast(CODEC, new ProtocolCodecFilter(codecFactory));
    }
    DatagramSessionConfig dcfg = acceptor.getSessionConfig();
    dcfg.setReuseAddress(true);
    dcfg.setReadBufferSize(config.bufferSize);
    dcfg.setIdleTime(IdleStatus.WRITER_IDLE, 10);
    dcfg.setBroadcast(true);

    KeepAliveFilter keepAliveFilter = MinaUtil.initServerKeepAlive(config, this);
    if (keepAliveFilter != null) {
        acceptor.getFilterChain().addLast(HEARTBEAT, keepAliveFilter);
    }
}
 
开发者ID:EthanCo,项目名称:Halo-Turbo,代码行数:26,代码来源:MinaUdpServerSocket.java


示例14: main

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public static void main(String[] args) {
	int port = U.getInt("cleaner.server.port");
	int idleTime = U.getInt("cleaner.server.time");
	NioSocketAcceptor clientAcceptor = new NioSocketAcceptor();
	clientAcceptor.setReuseAddress(true);

	DefaultIoFilterChainBuilder chain = clientAcceptor.getFilterChain();
	SocketSessionConfig config = clientAcceptor.getSessionConfig();
	config.setIdleTime(IdleStatus.READER_IDLE, idleTime);// 读空闲 10秒
	config.setReuseAddress(true);
	config.setReadBufferSize(4096);// 默认2048
	config.setKeepAlive(true);
	config.setTcpNoDelay(true);// 开启nagle算法
	// 编解码
	chain.addLast("coder", new ProtocolCodecFilter(new TextLineCodecFactory(U.UTF8)));
	clientAcceptor.setHandler(new CleanerHandler());
	try {
		clientAcceptor.bind(new InetSocketAddress(port));
		log.info("心跳模块启动..");
	} catch (IOException e) {
		log.error("心跳模块启动失败", e);
	}
}
 
开发者ID:East196,项目名称:maker,代码行数:24,代码来源:BeatServer.java


示例15: initialize

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public void initialize() {
	idleTime = U.getInt("chat.server.idleTime");
	System.out.println(idleTime);

	clientAcceptor = new NioSocketAcceptor();
	clientAcceptor.setReuseAddress(true);

	DefaultIoFilterChainBuilder chain = clientAcceptor.getFilterChain();
	SocketSessionConfig config = clientAcceptor.getSessionConfig();
	config.setReuseAddress(true);
	config.setIdleTime(IdleStatus.READER_IDLE, idleTime);// 读空闲 20秒
	config.setReadBufferSize(4096);// 默认2048
	config.setKeepAlive(true);
	config.setTcpNoDelay(true);// 禁用/开启nagle算法
	// 编解码
	chain.addLast("coder", new ProtocolCodecFilter(new MessageCodecFactory()));
	// 日志
	chain.addLast("logger", new LoggingFilter());
	// 业务逻辑处理线程池
	chain.addLast("threadPool", new ExecutorFilter());
}
 
开发者ID:East196,项目名称:maker,代码行数:22,代码来源:TcpServer.java


示例16: handle

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public void handle(MinaUserSession session) {
	if (iIdleTime == 0) {
		iIdleTime = U.getInt("chat.server.idleTime");
		MAX_IDLETIME = U.getInt("chat.server.maxIdleTime");
		unIdleTimes = MAX_IDLETIME / iIdleTime;
	}
	IoSession ioSession = session.getIoSession();
	IdleStatus idleStatus = session.getIdleStatus();
	if(ioSession==null){
		log.info("2ioSession:{} idleStatus:{}",ioSession,idleStatus);
	}
	int nCount = ioSession.getIdleCount(idleStatus);
	if (nCount > unIdleTimes) {
		log.info("timeout 空闲,因为" + unIdleTimes * iIdleTime + "秒内没有数据交互!userId=" + session.getUserId()
				+ " idleCount=" + nCount);
		ioSession.close(true);
	}
}
 
开发者ID:East196,项目名称:maker,代码行数:19,代码来源:MinaIdleHandler.java


示例17: sessionIdle

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
/**
 */
public void sessionIdle(IoSession session, IdleStatus status)
		throws Exception {
	logger.warn("sessionIdle()... from "
			+ session.getRemoteAddress().toString());
	if (!session.containsAttribute(CIMConstant.SESSION_KEY)) {
		session.close(true);
	} else {
		// 如果5分钟之内客户端没有发送心态,则可能客户端断网,关闭连接
		Object heartbeat = session.getAttribute(CIMConstant.HEARTBEAT_KEY);
		if (heartbeat != null
				&& System.currentTimeMillis()
						- Long.valueOf(heartbeat.toString()) >= 300000) {
			session.close(false);
		}
	}
}
 
开发者ID:SatanFu,项目名称:ichat-server,代码行数:19,代码来源:MainIOHandler.java


示例18: run_startup_configurations

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public static void run_startup_configurations() {
    autoPaoDian = Integer.parseInt(ServerProperties.getProperty("autoPaoDian", "1"));
    port = Short.parseShort(ServerProperties.getProperty("cashshop.port", String.valueOf(DEFAULT_PORT)));
    ip = ServerProperties.getProperty("world.host", ServerConstants.IP) + ":" + port;

    IoBuffer.setUseDirectBuffer(false);
    IoBuffer.setAllocator(new SimpleBufferAllocator());

    acceptor = new NioSocketAcceptor();
    acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MapleCodecFactory()));
    acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 30);
    players = new PlayerStorage(MapleServerHandler.CASH_SHOP_SERVER);
    try {
        acceptor.setHandler(new MapleServerHandler(MapleServerHandler.CASH_SHOP_SERVER));
        acceptor.bind(new InetSocketAddress(port));
        ((SocketSessionConfig) acceptor.getSessionConfig()).setTcpNoDelay(true);

        FileoutputUtil.log("完成!");
        FileoutputUtil.log("商城伺服器正在监听" + port + "端口\r\n");
    } catch (IOException e) {
        FileoutputUtil.log("失败!");
        System.err.println("无法绑定" + port + "端口");
        throw new RuntimeException("绑定端口失败.", e);
    }
}
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:26,代码来源:CashShopServer.java


示例19: run

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
public void run() throws Exception {
	if (start) {
		SimpleIoProcessorPool<NioSession> simpleIoProcessorPool = new SimpleIoProcessorPool(
				NioProcessor.class, LoginServer.ExecutorService);
		acceptor = new NioSocketAcceptor(LoginServer.ExecutorService,
				simpleIoProcessorPool);
		acceptor.getSessionConfig().setTcpNoDelay(true);
		acceptor.getFilterChain().addLast("ThreadPool",
				new ExecutorFilter(LoginServer.ExecutorService));
		acceptor.getFilterChain().addLast("executor",
				new ExecutorFilter(LoginServer.ExecutorService));
		acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 15);
		acceptor.setHandler(new LoginGatewayHandler(this));
		acceptor.bind(new InetSocketAddress(getPort()));
		log.info("网关端口监听于 " + getPort());
	}
}
 
开发者ID:316181444,项目名称:Hxms,代码行数:18,代码来源:LoginGateway.java


示例20: sessionIdle

import org.apache.mina.core.session.IdleStatus; //导入依赖的package包/类
@Override
public void sessionIdle(final IoSession session, final IdleStatus status)
		throws Exception {
	MapleClient client = (MapleClient) session
			.getAttribute(MapleClient.CLIENT_KEY);

	// if (client != null && client.getPlayer() != null &&
	// log.isTraceEnabled()) {
	// log.trace("玩家空闲着", client.getPlayer().getName());
	// }

	if (client != null) {
		client.sendPing();
	}
	super.sessionIdle(session, status);
}
 
开发者ID:316181444,项目名称:Hxms,代码行数:17,代码来源:MapleServerHandler.java



注:本文中的org.apache.mina.core.session.IdleStatus类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java JsonArray类代码示例发布时间:2022-05-20
下一篇:
Java InternalFrameAdapter类代码示例发布时间:2022-05-20
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap