亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? smsserver.java

?? 短線收發(fā)
?? JAVA
字號:
// SMSLib for Java v3
// A Java API library for sending and receiving SMS via a GSM modem
// or other supported gateways.
// Web Site: http://www.smslib.org
//
// Copyright (C) 2002-2008, Thanasis Delenikas, Athens/GREECE.
// SMSLib is distributed under the terms of the Apache License version 2.0
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package org.smslib.smsserver;

import java.io.*;
import java.util.*;

/**
 * <b>SMSServer Application - under development!</b>
 */
public class SMSServer
{
	public org.smslib.Service srv;
	private Properties props;
	private boolean shutdown = false;
	private List infList;
	public OutboundNotification outboundNotification;

	private boolean optRunOnce = false;

	public SMSServer()
	{
		srv = new org.smslib.Service();
		infList = new ArrayList();
		Runtime.getRuntime().addShutdownHook(new Shutdown());
		outboundNotification = new OutboundNotification();
	}

	private class Shutdown extends Thread
	{
		public void run()
		{
			srv.getLogger().info("SMSServer shutting down, please wait...");
			shutdown = true;
			try
			{
				srv.stopService();
			}
			catch (Exception e)
			{
				srv.getLogger().error(e);
				e.printStackTrace();
			}
		}
	}

	private void loadConfiguration() throws Exception
	{
		FileInputStream f;

		props = new Properties();
		if (System.getProperty("smsserver.configdir") != null) f = new FileInputStream(System.getProperty("smsserver.configdir") + "SMSServer.conf");
		else if (System.getProperty("smsserver.configfile") != null) f = new FileInputStream(System.getProperty("smsserver.configfile"));
		else throw new org.smslib.SMSLibException("Cannot find SMSServer configuration file!");
		props.load(f);
		f.close();

		for (int i = 0; i <Integer.MAX_VALUE; i ++)
		{
			try
			{
				String propName = "gateway." + i;
				String propValue = props.getProperty(propName, "");
				if (propValue.length() == 0) break;
				StringTokenizer tokens = new StringTokenizer(propValue, ",");
				String gtwId = tokens.nextToken().trim();
				String gtwClass = tokens.nextToken().trim();
	
				Object[] args = new Object[] {gtwId, props, this};
				Class[] argsClass = new Class[] {String.class, Properties.class, SMSServer.class};
				Class c = Class.forName("org.smslib.smsserver.gateways." + gtwClass);
				java.lang.reflect.Constructor constructor = c.getConstructor(argsClass);
				org.smslib.smsserver.AGateway gtw = (AGateway) constructor.newInstance(args);
				srv.addGateway(gtw.create());
				srv.getLogger().info("SMSServer: added gateway " + gtwId + " / " + gtw.getDescription());
			}
			catch (Exception e)
			{
				srv.getLogger().error("SMSServer: Unknown Gateway in configuration file!");
			}
		}

		for (int i = 0; i <Integer.MAX_VALUE; i ++)
		{
			try
			{
				String propName = "interface." + i;
				String propValue = props.getProperty(propName, "");
				if (propValue.length() == 0) break;
				StringTokenizer tokens = new StringTokenizer(propValue, ",");
				String infId = tokens.nextToken().trim();
				String infClass = tokens.nextToken().trim();
	
				Object[] args = new Object[] {infId, props, this};
				Class[] argsClass = new Class[] {String.class, Properties.class, SMSServer.class};
				Class c = Class.forName("org.smslib.smsserver.interfaces." + infClass);
				java.lang.reflect.Constructor constructor = c.getConstructor(argsClass);
				org.smslib.smsserver.AInterface inf = (AInterface) constructor.newInstance(args);
				infList.add(inf);
				srv.getLogger().info("SMSServer: added interface " + infId + " / " + inf.getDescription());
			}
			catch (Exception e)
			{
				srv.getLogger().error("SMSServer: Unknown Interface in configuration file!");
			}
		}
	}

	private void process() throws Exception
	{
		while (true)
		{
			srv.getLogger().info("SMSServer: Processing @ " + new java.util.Date());
			srv.logDebug("** GATEWAY STATISTICS **");
			for (int i = 0; i < srv.getGatewayList().size(); i ++)
			{
				org.smslib.AGateway gtw = (org.smslib.AGateway) srv.getGatewayList().get(i);
				srv.logDebug("Gateway: " + gtw.getGatewayId() + ", Load: " + srv.getGatewayQueueLoad(gtw.getGatewayId()));
			}
			srv.logDebug("** GATEWAY STATISTICS **");
			if (!shutdown) readMessages();
			if (!shutdown) sendMessages();
			if (optRunOnce) break;
			if (!shutdown) Thread.sleep(Integer.parseInt(props.getProperty("settings.poll_interval", "60")) * 1000);
			if (shutdown) break;
		}
	}

	private void startInterfaces() throws Exception
	{
		for (int i = 0; i < infList.size(); i ++)
			((AInterface) infList.get(i)).start(); 
	}

	private void stopInterfaces() throws Exception
	{
		for (int i = 0; i < infList.size(); i ++)
			((AInterface) infList.get(i)).stop(); 
	}

	private void run() throws Exception
	{
		loadConfiguration();
		try
		{
			startInterfaces();
			srv.startService();
			process();
		}
		finally
		{
			srv.stopService();
			stopInterfaces();
		}
	}

	private void readMessages() throws Exception
	{
		List msgList;

		msgList = new ArrayList();
		srv.readMessages(msgList, org.smslib.MessageClasses.ALL);

		if (msgList.size() > 0)
		{
			for (int i = 0; i < infList.size(); i ++)
			{
				AInterface inf = (AInterface) infList.get(i);
				inf.MessagesReceived(msgList);
			}
		}

		if (props.getProperty("settings.delete_after_processing", "no").equalsIgnoreCase("yes"))
		{
			for (int i = 0, n = msgList.size(); i < n; i++)
				srv.deleteMessage((org.smslib.InboundMessage) msgList.get(i));
		}
	}

	private void sendMessages() throws Exception
	{
		List msgList = new ArrayList();

		for (int i = 0; i < infList.size(); i ++)
		{
			AInterface inf = (AInterface) infList.get(i);
			List msgList2 = inf.getMessagesToSend();
			msgList.addAll(msgList2);
			for (int j = 0; j < msgList2.size(); j ++)
				msgList2.remove(j);
			msgList2 = null;
		}
		if (msgList.size() > 0)
		{
			if (props.getProperty("settings.send_mode", "sync").equalsIgnoreCase(("sync")))
			{
				srv.logInfo("SMSServer: sending synchronously...");
				srv.sendMessages(msgList);
				for (int i = 0; i < infList.size(); i ++)
				{
					AInterface inf = (AInterface) infList.get(i);
					inf.markMessages(msgList);
				}
			}
			else
			{
				srv.logInfo("SMSServer: sending asynchronously...");
				srv.queueMessages(msgList);
			}
		}
	}

	private class OutboundNotification implements org.smslib.IOutboundMessageNotification
	{
		public void process(String gatewayId, org.smslib.OutboundMessage msg)
		{
			try
			{
				for (int i = 0; i < infList.size(); i ++)
					((AInterface) infList.get(i)).markMessage(msg);
			}
			catch (Exception e)
			{
				srv.getLogger().fatal(e);
			}
		}
	}

	public static void main(String[] args)
	{
		SMSServer app = new SMSServer();

		for (int i = 0; i < args.length; i ++)
		{
			if (args[i].equalsIgnoreCase("-runonce")) app.optRunOnce = true;
			else System.out.println("Invalid argument: " + args[i]);
		}

		try
		{
			app.run();
			app.srv.getLogger().info("SMSServer exiting normally.");
		}
		catch (Exception e)
		{
			app.srv.getLogger().fatal("SMSServer Error: ", e);
			try { app.srv.stopService(); } catch (Exception e1) {}
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久网站最新地址| 欧美激情自拍偷拍| 99久久精品国产观看| 亚洲成av人影院在线观看网| 中文av一区二区| 这里只有精品99re| 91国产福利在线| av高清久久久| 国产成人欧美日韩在线电影 | 丝袜美腿亚洲色图| 亚洲国产高清不卡| 精品免费一区二区三区| 欧洲日韩一区二区三区| 成人黄色av电影| 精品亚洲国内自在自线福利| 亚洲成人激情av| 一区二区三区在线视频观看| 国产日产欧产精品推荐色| 欧美一区二区三区小说| 欧美天堂一区二区三区| 97久久精品人人爽人人爽蜜臀| 狠狠狠色丁香婷婷综合激情| 视频一区二区欧美| 性久久久久久久| 亚洲成人激情av| 亚洲一级电影视频| 国产精品69毛片高清亚洲| 日韩精品电影一区亚洲| 亚洲一区在线观看免费观看电影高清| 欧美国产一区二区在线观看| 欧美精品一区二区久久婷婷| 欧美一二三四区在线| 91精品国产综合久久久蜜臀粉嫩| 欧美日韩国产精品成人| 欧美日韩综合不卡| 欧美网站大全在线观看| 欧美美女bb生活片| 欧美高清性hdvideosex| 91麻豆精品国产综合久久久久久| 欧美日韩国产在线播放网站| 欧美日韩一区二区三区在线看| 91电影在线观看| 欧美在线观看一二区| 欧美羞羞免费网站| 欧美人与z0zoxxxx视频| 51久久夜色精品国产麻豆| 欧美一区二区黄色| 亚洲精品在线网站| 欧美极品少妇xxxxⅹ高跟鞋 | 久久精品99国产精品| 裸体一区二区三区| 国产一区二区不卡在线| eeuss影院一区二区三区| 91美女在线看| 欧美群妇大交群中文字幕| 日韩三区在线观看| 久久人人爽人人爽| 国产精品久线在线观看| 亚洲激情男女视频| 手机精品视频在线观看| 国内精品伊人久久久久影院对白| 福利视频网站一区二区三区| 99re这里都是精品| 欧美亚洲综合在线| 欧美大白屁股肥臀xxxxxx| 久久久久国色av免费看影院| 美腿丝袜亚洲综合| 成人综合在线观看| 欧美亚洲日本国产| 欧美大片一区二区| 中文字幕一区二区在线播放| 亚洲国产成人tv| 国内成人精品2018免费看| 99久久99久久免费精品蜜臀| 欧美日本在线看| 久久精品一级爱片| 亚洲乱码中文字幕综合| 免费看欧美女人艹b| 成人性生交大片免费看视频在线 | 激情成人综合网| www.亚洲色图.com| 337p亚洲精品色噜噜| 国产午夜精品在线观看| 亚洲国产精品人人做人人爽| 精品影院一区二区久久久| 91啪九色porn原创视频在线观看| 欧美肥妇毛茸茸| 中文字幕一区二区三中文字幕| 日产欧产美韩系列久久99| 成人一级片在线观看| 欧美日韩一级二级| 亚洲欧洲av在线| 久久精品国产久精国产爱| 97se亚洲国产综合自在线不卡 | 国产精品久久久久久久蜜臀| 午夜精品久久久久久久久| 国产91精品久久久久久久网曝门| 欧美精品国产精品| 综合色天天鬼久久鬼色| 国产寡妇亲子伦一区二区| 欧美精品精品一区| 亚洲精品高清视频在线观看| 国产传媒久久文化传媒| 欧美老女人第四色| 一区二区三区欧美日韩| 国产精品综合一区二区| 日韩一区二区三区四区五区六区| 亚洲黄色免费网站| a在线播放不卡| 久久九九久久九九| 久久99精品久久久久久| 欧美伦理影视网| 亚洲精品大片www| 不卡在线观看av| 中文字幕精品综合| 国产乱色国产精品免费视频| 91精品国产高清一区二区三区蜜臀 | 欧美日韩情趣电影| 樱桃视频在线观看一区| 大陆成人av片| 国产欧美一区二区精品婷婷| 久久se这里有精品| 日韩精品一区在线观看| 91视频在线观看| 国产日韩欧美制服另类| 久久不见久久见中文字幕免费| 欧美片网站yy| 亚洲6080在线| 欧美精三区欧美精三区| 亚洲国产成人av网| 欧美日韩视频在线一区二区| 亚洲最大成人网4388xx| 97se亚洲国产综合在线| 亚洲啪啪综合av一区二区三区| 成人国产电影网| 国产精品免费免费| 成人免费看黄yyy456| 国产精品免费视频观看| 99re热这里只有精品免费视频| 国产精品三级久久久久三级| a亚洲天堂av| 亚洲精品乱码久久久久久黑人| 欧美伊人久久久久久久久影院| 亚洲电影一级片| 91精品国产品国语在线不卡| 美女网站色91| 久久亚洲二区三区| 国产成人h网站| 亚洲欧洲成人精品av97| 色素色在线综合| 亚洲成a人v欧美综合天堂| 666欧美在线视频| 国内成人自拍视频| 国产精品免费视频网站| 91久久线看在观草草青青| 亚洲成人av一区| 欧美不卡一区二区三区四区| 国产精品一区二区三区四区| 国产精品网站在线| 欧美在线视频不卡| 美脚の诱脚舐め脚责91| 久久精品在这里| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲精品中文字幕在线观看| 欧美日韩成人激情| 国产在线看一区| 自拍偷拍亚洲欧美日韩| 欧美日韩一级黄| 国产精品一区三区| 一区二区三区在线影院| 日韩欧美高清在线| 99热在这里有精品免费| 三级久久三级久久久| 国产午夜一区二区三区| 在线免费不卡视频| 国内一区二区视频| 成人永久aaa| 亚洲一区二区三区国产| 精品国产1区2区3区| 99久久国产综合色|国产精品| 午夜a成v人精品| 国产日产欧产精品推荐色| 欧美天堂一区二区三区| 国产91丝袜在线18| 日本午夜一区二区| 亚洲欧洲日韩综合一区二区| 91精品国产美女浴室洗澡无遮挡| 白白色 亚洲乱淫| 毛片av中文字幕一区二区| 日韩久久一区二区| 精品国产一区二区精华| 欧美性一区二区| 成人激情综合网站| 久久精品国产久精国产| 亚洲自拍偷拍网站| 国产精品福利在线播放| 精品国产第一区二区三区观看体验| 在线免费一区三区| 成人福利视频在线| 激情五月婷婷综合网|