macceptorobserver.java

来自「httptunnel.jar httptunnel java 源码」· Java 代码 · 共 52 行

JAVA
52
字号
package net.jumperz.app.MGuardian;

import java.io.*;
import java.net.*;
import net.jumperz.util.*;
import net.jumperz.net.*;

public final class MAcceptorObserver
implements MObserver1
{
private MMultiAcceptor acceptor;
//-------------------------------------------------------------------------------------------------------
public MAcceptorObserver( MMultiAcceptor in_acceptor )
{
acceptor = in_acceptor;
}
//-------------------------------------------------------------------------------------------------------
public final void update()
{
int state = acceptor.getState();
if( state == MMultiAcceptor.ACCEPTED )
	{
		// check TCP connect flooding
	Socket socket	= acceptor.getSocket();
	String addr	= socket.getInetAddress().getHostAddress();
	MAddressManager addressManager = MAddressManager.getInstance();
	if( addressManager.isFull( addr ) )
		{
		MSimpleLogger.getInstance().log( addr + ":" + socket.getPort() + " Too many connections." );
		try
			{
			socket.close();
			}
		catch( IOException e )
			{
			e.printStackTrace();
			}
		}
	else
		{
			// start new session
		MGuardianImpl.getInstance().startSession( socket );
		}
	}
else if( state == MMultiAcceptor.ERROR )
	{
	MGuardianImpl.getInstance().shutdown();
	}
}
//-------------------------------------------------------------------------------------------------------
}

⌨️ 快捷键说明

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