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

📄 smsserver.java

📁 短信猫发送程序java 版,可以适应西门子等多种短信猫使用。
💻 JAVA
字号:
package com.yuther.sms.server;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.Properties;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import org.apache.log4j.Logger;/** * 短信服务端 * *  * @author yuther *  */public class SmsServer {	static Logger log = Logger.getLogger(SmsServer.class);	/** 服务端侦听端口 */	static int PORT;	/** 侦听socker */	static ServerSocket serverSocket = null;	/** 线程池 */	private ExecutorService executorService;	/** 单个CPU时线程池工作数目 */	static int POOL_SIZE;	/**	 * 对侦听端口、缓冲池大小进行初始化 读取配置信息文件conf.properties	 * 	 * @throws IOException	 */	public SmsServer() throws IOException {		Properties p = new Properties();		try {			InputStream ins = SmsServer.class.getClassLoader()					.getResourceAsStream("conf.properties");			p.load(ins);		} catch (Exception e) {			log.error("获取配置文件出错", e);			return;		}		SmsServer.PORT = Integer.parseInt(p.getProperty("LISTEN_PORT"));		SmsServer.POOL_SIZE = Integer.parseInt(p.getProperty("POOL_SIZE"));		log.info("Server.LISTEN_PORT:" + SmsServer.PORT);		log.info("Server.POOL_SIZE:" + SmsServer.POOL_SIZE);	}	/**	 * 调用此方法服务器开始启动	 */	public void service() {		// 得到CPU个数		int cpu_num = Runtime.getRuntime().availableProcessors();		log.info("探测出服务器CPU个数为:" + cpu_num);		// 创建一个线程池大小为cpu_num*POOL_SIZE		executorService = Executors.newFixedThreadPool(cpu_num * POOL_SIZE);		try {			serverSocket = new ServerSocket(PORT);			log.info("Listening " + PORT + "...");		} catch (Exception e) {			log.info("bind listener port " + PORT + " error.", e);			System.exit(-1);		}		while (true) {			Socket socket = null;						try {								socket = serverSocket.accept();								//运行短信任务线程				executorService.execute(new SmsTaskThread(socket));			} catch (Throwable e) {				log.error("listen socket something errors", e);				System.exit(-1);			}		}	}		public static void main(String[] args){						try {						//启动服务			SmsServer smsServer = new SmsServer();			smsServer.service();								} catch (IOException e) {						log.error("启动服务失败!",e);			System.exit(-1);					}					}}

⌨️ 快捷键说明

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