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

📄 musicdataserver.java

📁 《Java核心技术应用开发》电子工业出版社书籍源代码
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.util.*;

/**
 *
 *  数据服务器类
 */
public class MusicDataServer implements StoneForestProtocol {

	protected ServerSocket myServerSocket;
	protected MusicDataAccessor myMusicDataAccessor;
	protected boolean done;
	
	public MusicDataServer() {
		this(StoneForestProtocol.DEFAULT_PORT);
	}
	
	public MusicDataServer(int thePort) {

		try {
			done = false;
			log("启动服务器 " + thePort);
			myServerSocket = new ServerSocket(thePort);
			myMusicDataAccessor = new MusicDataAccessor();	

			log("\n服务器准备就绪!");
			listenForConnections();
		}
		catch (IOException exc) {
			log(exc);
			System.exit(1);
		}
	}


	protected void listenForConnections() {
	
		Socket clientSocket = null;
		Handler aHandler = null;
		
		try {
			while (!done) {
				log("\n等待请求...");
				clientSocket = myServerSocket.accept();
				
				String clientHostName = clientSocket.getInetAddress().getHostName();
				log("收到连接: " + clientHostName);
				aHandler = new Handler(clientSocket, myMusicDataAccessor);
				aHandler.start();
			}
		}
		catch (IOException exc) {
			log("listenForConnections()中发生异常:  " + exc);
		}
	}
	
	protected void log(Object msg) {
		System.out.println("MusicDataServer类: " + msg);
	}
	
	//主方法, 启动服务器
	public static void main(String[] args) {
	
		MusicDataServer myServer;
		
		if (args.length == 1) {
			int port = Integer.parseInt(args[0]);
			myServer = new MusicDataServer(port);
		}
		else {
			myServer = new MusicDataServer();
		}
		
	}
}

⌨️ 快捷键说明

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