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

📄 clienteventhandler.java

📁 一个用java编写的服务器,对于学习网络编程的人来说是个很好的例子
💻 JAVA
字号:
/*
 * This file is part of the QuickServer library 
 * Copyright (C) 2003-2005 QuickServer.org
 *
 * Use, modification, copying and distribution of this software is subject to
 * the terms and conditions of the GNU Lesser General Public License. 
 * You should have received a copy of the GNU LGP License along with this 
 * library; if not, you can download a copy from <http://www.quickserver.org/>.
 *
 * For questions, suggestions, bug-reports, enhancement-requests etc.
 * visit http://www.quickserver.org
 *
 */

package org.quickserver.net.server;

import java.io.*;
import java.net.SocketTimeoutException;
/**
 * This interface defines the methods that should be implemented by any 
 * class that wants to handle client events.
 * 
 * <p>
 * Recommendations to be followed when implementing ClientEventHandler
 * <ul>
 * <li>Should have a default constructor. 
 * <li>Should be thread safe.
 * <li>It should not store any data that may is associated with a particular client. 
 * <li>If any client data is need to be saved from the client session,  
 * it should be saved to a {@link ClientData} class, which can be retrieved 
 * using handler.getClientData() method.
 * </ul>
 * </p>
 * <p>If not ClientEventHandler is set for QuickServer then a 
 * default implementation {@link org.quickserver.net.server.impl.DefaultClientEventHandler} is used.
 * </p>
 * <p>
 * Ex:
 * <code><BLOCKQUOTE><pre>
package echoserver;

import java.net.*;
import java.io.*;
import org.quickserver.net.server.ClientEventHandler;
import org.quickserver.net.server.ClientHandler;

public class EchoEventHandler implements ClientEventHandler {

	public void gotConnected(ClientHandler handler)
		throws SocketTimeoutException, IOException {
		handler.sendSystemMsg("Connection opened : "+
			handler.getSocket().getInetAddress());

		handler.sendClientMsg("Welcome to EchoServer v1.0 ");
		handler.sendClientMsg("Note: Password = Username");
		handler.sendClientMsg("Send 'Quit' to exit");
	}

	public void lostConnection(ClientHandler handler) 
		throws IOException {
		handler.sendSystemMsg("Connection lost : " + 
			handler.getSocket().getInetAddress());
	}
	public void closingConnection(ClientHandler handler) 
		throws IOException {
		handler.sendSystemMsg("Connection closing : " + 
			handler.getSocket().getInetAddress());
	}
}
</pre></BLOCKQUOTE></code></p>
 * @since 1.4.5
 * @author Akshathkumar Shetty
 */
public interface ClientEventHandler {

	/**
	 * Method called when there is a new client connects
	 * to the QuickServer.
	 * Can be used to send welcome message to the client and logging.
	 * @exception java.net.SocketTimeoutException if socket times out
	 * @exception java.io.IOException if io error in socket
	 */
	public void gotConnected(ClientHandler handler)
		throws SocketTimeoutException, IOException;

	/**
	 * Method called when client connection is lost.
	 * Don't write to the connection in this method.
	 * Its just information, to be used at the Server end.
	 * It can be caused due to network errors.
	 * @exception java.io.IOException if io error in socket
	 */
	public void lostConnection(ClientHandler handler) 
		throws IOException;

	/**
	 * Method called when client connection is closed.
	 * Don't write to the connection in this method.
	 * Its just information, you can use to log time and ip of client closing connection.
 	 * @exception java.io.IOException if io error in socket
	 */
	public void closingConnection(ClientHandler handler) 
		throws IOException;

}

⌨️ 快捷键说明

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