connection.java

来自「一个java的server模版程序」· Java 代码 · 共 57 行

JAVA
57
字号
package com.ec.generalserver;


import java.nio.channels.*;


public class Connection
{
	private long last_access_time;
	private Acceptor acceptor;
	private Connector connector;
	
	private SocketChannel socket = null;
	
	
	public Connection(){ };
	
	public void init(Acceptor acptor,SocketChannel sock)
	{
		acceptor = acptor;
		socket = sock;
	}
	
	public void setConnector(Connector cntor)
	{
		connector = cntor;
	}
	
	public void registor(Selector selector) throws Exception
	{
		socket.register(selector,SelectionKey.OP_READ,this);
	}
	
	public void close() throws Exception
	{	
		socket.close();  //selector那边会不会自动unregister
		acceptor.recycle(this);
		connector.remove(this);
	}
	
	public void updateAccess(long time)
	{
		last_access_time = time;
	}
	
	public boolean isTimeout(long timelimit)
	{
		long interval = System.currentTimeMillis() - last_access_time;
		return interval>timelimit;
	}
	
	public SocketChannel getSocket()
	{
		return socket;
	}
}

⌨️ 快捷键说明

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