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

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

?? athandler.java

?? 發(fā)送短信 接收短信 多種接口com/net/modem 開發(fā)庫
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// 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-2009, 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.modem.athandler;

import java.io.IOException;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.smslib.GatewayException;
import org.smslib.TimeoutException;
import org.smslib.AGateway.AsyncEvents;
import org.smslib.AGateway.Protocols;
import org.smslib.InboundMessage.MessageClasses;
import org.smslib.modem.AModemDriver;
import org.smslib.modem.CNMIDetector;
import org.smslib.modem.ModemGateway;

/**
 * Generic modem AT handler.
 */
public class ATHandler extends AATHandler
{
	protected AModemDriver modemDriver;

	protected CNMIDetector cnmiDetector;

	public AModemDriver getModemDriver()
	{
		return this.modemDriver;
	}

	public ATHandler(ModemGateway myGateway)
	{
		super(myGateway);
		this.modemDriver = myGateway.getModemDriver();
		this.cnmiDetector = null;
		this.terminators = new String[13];
		this.terminators[0] = "OK\\s";
		this.terminators[1] = "\\s*[\\p{ASCII}]*\\s+OK\\s";
		this.terminators[2] = "(ERROR|NO CARRIER|NO DIALTONE)\\s";
		this.terminators[3] = "ERROR:\\s*\\d+\\s";
		this.terminators[4] = "\\+CM[ES]\\s+ERROR:\\s*\\d+\\s";
		this.terminators[5] = "\\+CPIN:\\s*READY\\s";
		this.terminators[6] = "\\+CPIN:\\s*SIM\\s*BUSY\\s";
		this.terminators[7] = "\\+CPIN:\\s*SIM\\s*PIN\\s";
		this.terminators[8] = "\\+CPIN:\\s*SIM\\s*PIN2\\s";
		this.terminators[9] = "\\+CMTI:\\s*\\p{Punct}[\\p{ASCII}]+\\p{Punct}\\p{Punct}\\s*\\d+\\s";
		this.terminators[10] = "\\+CDSI:\\s*\\p{Punct}[\\p{ASCII}]+\\p{Punct}\\p{Punct}\\s*\\d+\\s";
		this.terminators[11] = "RING\\s";
		this.terminators[12] = "\\+CLIP:\\s*\\p{Punct}[\\p{ASCII}]*\\p{Punct}\\p{Punct}\\s*\\d+[\\p{ASCII}]*\\s";
		this.unsolicitedResponses = new String[4];
		this.unsolicitedResponses[0] = "+CMTI";
		this.unsolicitedResponses[1] = "+CDSI";
		this.unsolicitedResponses[2] = "RING";
		this.unsolicitedResponses[3] = "+CLIP";
	}

	@Override
	public void sync() throws IOException, InterruptedException
	{
		getModemDriver().write("ATZ\r");
		Thread.sleep(getGateway().getService().getSettings().AT_WAIT);
	}

	@Override
	public void reset() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("\u001b");
		Thread.sleep(getGateway().getService().getSettings().AT_WAIT);
		getModemDriver().write("+++");
		Thread.sleep(getGateway().getService().getSettings().AT_WAIT);
		getModemDriver().write("ATZ");
		Thread.sleep(getGateway().getService().getSettings().AT_WAIT);
		getModemDriver().clearBuffer();
	}

	@Override
	public void echoOff() throws IOException, InterruptedException
	{
		getModemDriver().write("ATE0\r");
		Thread.sleep(getGateway().getService().getSettings().AT_WAIT);
		getModemDriver().clearBuffer();
	}

	@Override
	public void init() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CLIP=1\r");
		getModemDriver().getResponse();
		getModemDriver().write("AT+COPS=0\r");
		getModemDriver().getResponse();
	}

	@Override
	public void done() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		// No default behavior.
	}

	@Override
	public boolean isAlive() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT\r");
		getModemDriver().getResponse();
		return (getModemDriver().isOk());
	}

	@Override
	public String getSimStatus() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CPIN?\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public boolean enterPin(String pin) throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CPIN=\"_1_\"\r".replaceAll("_1_", pin));
		getModemDriver().getResponse();
		return (getModemDriver().isOk());
	}

	@Override
	public boolean setVerboseErrors() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CMEE=1\r");
		getModemDriver().getResponse();
		return (getModemDriver().isOk());
	}

	@Override
	public boolean setPduProtocol() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CMGF=0\r");
		getModemDriver().getResponse();
		return (getModemDriver().isOk());
	}

	@Override
	public boolean setTextProtocol() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CMGF=1\r");
		getModemDriver().getResponse();
		if (getModemDriver().isOk())
		{
			getModemDriver().write("AT+CSCS=\"8859-1\"\r");
			getModemDriver().getResponse();
			return (getModemDriver().isOk());
		}
		return false;
	}

	@Override
	public boolean setIndications() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		int RETRIES = 3;
		int count = 0;
		while (count < RETRIES)
		{
			getModemDriver().write("AT+CNMI=?\r");
			try
			{
				this.cnmiDetector = new CNMIDetector(getModemDriver().getResponse(), getGateway());
				getModemDriver().write(this.cnmiDetector.getATCommand());
				getModemDriver().getResponse();
				return (getModemDriver().isOk());
			}
			catch (Exception e)
			{
				count++;
				getGateway().getService().getLogger().logWarn("Retrying the detection of CNMI, modem busy?", null, getGateway().getGatewayId());
				Thread.sleep(getGateway().getService().getSettings().AT_WAIT_CNMI);
			}
		}
		getGateway().getService().getLogger().logWarn("CNMI detection failed, proceeding with defaults.", null, getGateway().getGatewayId());
		return false;
	}

	@Override
	public CNMIDetector getIndications()
	{
		return this.cnmiDetector;
	}

	@Override
	public String getManufacturer() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CGMI\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public String getModel() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CGMM\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public String getSerialNo() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CGSN\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public String getImsi() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CIMI\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public String getSwVersion() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CGMR\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public String getBatteryLevel() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CBC\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public String getSignalLevel() throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		getModemDriver().write("AT+CSQ\r");
		return (getModemDriver().getResponse());
	}

	@Override
	public boolean switchStorageLocation(String mem) throws TimeoutException, GatewayException, IOException, InterruptedException
	{
		if (mem.equalsIgnoreCase("--")) return true;
		getModemDriver().write("AT+CPMS=\"" + mem + "\"\r");
		getModemDriver().getResponse();
		return (getModemDriver().isOk());
	}

	@Override

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人1区2区| 秋霞午夜鲁丝一区二区老狼| 欧美久久婷婷综合色| 成人自拍视频在线| 天天亚洲美女在线视频| 中文字幕一区二区三区精华液| 欧美一区二区黄色| 91浏览器打开| 成人午夜精品一区二区三区| 极品瑜伽女神91| 亚洲bdsm女犯bdsm网站| 亚洲少妇最新在线视频| 丝袜美腿亚洲综合| 中文字幕一区日韩精品欧美| 精品裸体舞一区二区三区| 欧美日韩中字一区| 成人黄色软件下载| 国产成人av电影在线播放| 精品一区二区av| 男女男精品视频网| 午夜视频在线观看一区二区 | 精品日韩一区二区| 欧美日韩视频在线第一区 | 国产盗摄精品一区二区三区在线 | 亚洲人123区| 国产精品网站在线观看| 久久综合国产精品| www国产亚洲精品久久麻豆| 日韩欧美黄色影院| 91精品麻豆日日躁夜夜躁| 欧美日韩精品福利| 欧美三级电影网| 欧美精品自拍偷拍| 精品视频一区二区不卡| 欧美少妇性性性| 欧美精品久久99久久在免费线 | 欧美人与z0zoxxxx视频| 精品视频在线免费观看| 欧美精品三级日韩久久| 欧美一区二区三区男人的天堂| 欧美日韩视频在线第一区| 欧美精品777| 欧美一区在线视频| 精品国产电影一区二区| 久久精品人人爽人人爽| 国产精品青草久久| 亚洲视频1区2区| 亚洲国产精品一区二区尤物区| 五月婷婷久久丁香| 日本最新不卡在线| 激情文学综合网| 不卡一区中文字幕| 欧美午夜精品一区二区三区 | 一区二区高清在线| 天天色天天操综合| 狠狠色狠狠色综合系列| 国产91在线观看丝袜| 欧美精品一区二区三区高清aⅴ| 337p日本欧洲亚洲大胆精品| 欧美激情综合在线| 亚洲欧美视频在线观看视频| 爽爽淫人综合网网站| 国产精品一级在线| 色美美综合视频| 日韩精品一区二区三区四区| 久久精子c满五个校花| 亚洲精品写真福利| 美女在线视频一区| 波多野结衣亚洲一区| 欧美日韩精品系列| 久久久久亚洲蜜桃| 一个色妞综合视频在线观看| 麻豆精品在线看| 91在线免费播放| 日韩一级片在线观看| 欧美国产日韩在线观看| 亚洲gay无套男同| 国产99久久久国产精品免费看| 在线观看免费亚洲| 久久免费电影网| 亚洲成年人网站在线观看| 高清在线不卡av| 欧美视频一区二| 国产精品电影一区二区三区| 男女激情视频一区| 91久久精品网| 欧美经典一区二区三区| 日韩高清一区二区| 91网页版在线| 国产欧美一区二区在线| 青青青爽久久午夜综合久久午夜| 99精品1区2区| 久久久精品国产免大香伊| 亚洲一区二区三区不卡国产欧美| 国产一区二区在线免费观看| 色综合一区二区三区| 久久久久久久久久久电影| 日韩在线播放一区二区| 91视频免费观看| 亚洲国产高清在线| 韩国成人精品a∨在线观看| 欧美视频完全免费看| 成人午夜av电影| 久久理论电影网| 成人一级视频在线观看| 欧美精品视频www在线观看| 亚洲欧洲www| 国产成人超碰人人澡人人澡| 91精品国产综合久久小美女| 中文字幕中文字幕一区二区| 久久91精品久久久久久秒播| 欧美在线啊v一区| 亚洲天堂精品在线观看| 成人app网站| 欧美激情一区二区三区全黄| 狠狠色丁香久久婷婷综合丁香| 欧美顶级少妇做爰| 亚洲国产一区二区a毛片| 97久久超碰国产精品电影| 亚洲午夜三级在线| 亚洲成人一区在线| 99国产精品视频免费观看| 久久久不卡网国产精品二区| 精品亚洲欧美一区| 欧美一级片免费看| 国产精品久99| 欧美中文字幕一区二区三区 | 成人av网在线| 国产午夜精品久久久久久免费视| 久草中文综合在线| 欧美成人官网二区| 日韩福利电影在线观看| 在线电影一区二区三区| 五月婷婷激情综合网| 欧美精品一二三| 日本三级亚洲精品| 日韩午夜av一区| 黑人精品欧美一区二区蜜桃| 久久久久国产成人精品亚洲午夜| 国产一区二区三区日韩 | 一区二区三区不卡在线观看| 91福利国产成人精品照片| 亚洲精品欧美二区三区中文字幕| 91激情五月电影| 肉肉av福利一精品导航| 日韩一区二区不卡| 国产成人啪午夜精品网站男同| 国产亚洲欧美日韩日本| zzijzzij亚洲日本少妇熟睡| 亚洲女爱视频在线| 欧美日韩电影在线| 久久国产三级精品| 中文字幕不卡的av| 色婷婷综合五月| 天天色天天操综合| 久久久噜噜噜久噜久久综合| 9久草视频在线视频精品| 亚洲成人在线观看视频| 精品国产麻豆免费人成网站| 岛国av在线一区| 一区二区三区欧美日| 91精品国产91久久综合桃花| 国产超碰在线一区| 一区二区三区精品| 26uuu国产日韩综合| av日韩在线网站| 蜜臀av一区二区在线观看| 国产欧美日韩不卡| 欧美日韩国产另类一区| 欧美精品第一页| 丁香另类激情小说| 亚洲国产日产av| 国产日韩欧美精品在线| 欧美日韩国产天堂| 成人午夜激情在线| 日本欧美韩国一区三区| 中文字幕第一区二区| 欧美日韩aaaaa| 高清不卡一区二区在线| 天天综合天天综合色| 国产精品不卡在线| 日韩欧美视频在线| 在线视频一区二区三| 国产福利91精品一区二区三区| 亚洲一区二区综合| 国产日产欧美精品一区二区三区| 欧美日韩在线一区二区| 成人免费毛片片v| 麻豆精品国产91久久久久久| 亚洲免费在线电影| 国产日韩精品视频一区| 日韩欧美三级在线| 欧美性受xxxx黑人xyx| 福利一区二区在线| 老司机午夜精品99久久| 亚洲成a人v欧美综合天堂下载 | 久久奇米777| 在线电影院国产精品| 91久久香蕉国产日韩欧美9色| 国产一区二区三区高清播放|