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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cathandler.java

?? Sending and receiving of SMS using Java
?? JAVA
字號:
// SMSLib for Java
// An open-source API Library for sending and receiving SMS via a GSM modem.
// Copyright (C) 2002-2007, Thanasis Delenikas, Athens/GREECE
// Web Site: http://www.smslib.org
//
// SMSLib is distributed under the LGPL license.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// 
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

package org.smslib.handler;

import java.util.*;
import org.smslib.*;
import org.apache.log4j.*;

public class CATHandler extends AbstractATHandler
{
	public CATHandler(CSerialDriver serialDriver, Logger log, CService srv)
	{
		super(serialDriver, log, srv);
	}

	protected void setStorageLocations(String loc)
	{
		storageLocations = loc;
	}

	protected boolean dataAvailable() throws Exception
	{
		return serialDriver.dataAvailable();
	}

	protected void sync() throws Exception
	{
		Thread.sleep(DELAY_AT);
		serialDriver.send("AT\r");
		Thread.sleep(DELAY_AT);
		serialDriver.send("AT\r");
		Thread.sleep(DELAY_AT);
		serialDriver.send("AT\r");
		Thread.sleep(DELAY_AT);
		serialDriver.send("AT\r");
		Thread.sleep(DELAY_AT);
	}

	protected void reset() throws Exception
	{
	}

	protected void echoOff() throws Exception
	{
		serialDriver.send("ATE0\r");
		serialDriver.getResponse();
	}

	protected void init() throws Exception
	{
		serialDriver.send("AT+CLIP=1\r");
		serialDriver.getResponse();
		serialDriver.send("AT+COPS=0\r");
		serialDriver.getResponse();
		// No need for the following, until full GPRS functionality is implemented.
		//serialDriver.send("AT+CGATT=1\r");
		//serialDriver.getResponse();
		serialDriver.emptyBuffer();
	}

	protected boolean isAlive() throws Exception
	{
		serialDriver.send("AT\r");
		return (serialDriver.getResponse().matches("\\s*[\\p{ASCII}]*\\s+OK\\s"));
	}

	protected boolean waitingForPin() throws Exception
	{
		serialDriver.send("AT+CPIN?\r");
		return (serialDriver.getResponse().indexOf("SIM PIN") >= 0);
	}

	protected boolean enterPin(String pin) throws Exception
	{
		serialDriver.send(CUtils.replace("AT+CPIN=\"{1}\"\r", "{1}", pin));
		Thread.sleep(DELAY_PIN);
		if (serialDriver.getResponse().indexOf("OK") > 0)
		{
			Thread.sleep(DELAY_PIN);
			return true;
		}
		else return false;
	}

	protected boolean setVerboseErrors() throws Exception
	{
		serialDriver.send("AT+CMEE=1\r");
		return (serialDriver.getResponse().matches("\\s+OK\\s+"));
	}

	protected boolean setPduMode() throws Exception
	{
		serialDriver.send("AT+CMGF=0\r");
		return (serialDriver.getResponse().matches("\\s+OK\\s+"));
	}

	protected boolean setTextMode() throws Exception
	{
		serialDriver.send("AT+CMGF=1\r");
		if (serialDriver.getResponse().matches("\\s+OK\\s+"))
		{
			serialDriver.send("AT+CSCS=\"HEX\"\r");
			return (serialDriver.getResponse().matches("\\s+OK\\s+"));
		}
		else return false;
	}

	protected boolean enableIndications() throws Exception
	{
		serialDriver.send("AT+CNMI=1,1,0,0,0\r");
		return (serialDriver.getResponse().matches("\\s+OK\\s+"));
	}

	protected boolean disableIndications() throws Exception
	{
		serialDriver.send("AT+CNMI=0,0,0,0,0\r");
		return (serialDriver.getResponse().matches("\\s+OK\\s+"));
	}

	protected String getManufacturer() throws Exception
	{
		serialDriver.send("AT+CGMI\r");
		return serialDriver.getResponse();
	}

	protected String getModel() throws Exception
	{
		serialDriver.send("AT+CGMM\r");
		return serialDriver.getResponse();
	}

	protected String getSerialNo() throws Exception
	{
		serialDriver.send("AT+CGSN\r");
		return serialDriver.getResponse();
	}

	protected String getImsi() throws Exception
	{
		serialDriver.send("AT+CIMI\r");
		return serialDriver.getResponse();
	}

	protected String getSwVersion() throws Exception
	{
		serialDriver.send("AT+CGMR\r");
		return serialDriver.getResponse();
	}

	protected String getBatteryLevel() throws Exception
	{
		serialDriver.send("AT+CBC\r");
		return serialDriver.getResponse();
	}

	protected String getSignalLevel() throws Exception
	{
		serialDriver.send("AT+CSQ\r");
		return serialDriver.getResponse();
	}

	protected boolean setMemoryLocation(String mem) throws Exception
	{
		serialDriver.send("AT+CPMS=\"" + mem + "\"\r");
		return (serialDriver.getResponse().matches("\\s*[\\p{ASCII}]*\\s+OK\\s"));
	}

	protected void switchToCmdMode() throws Exception
	{
		serialDriver.send("+++");
		Thread.sleep(DELAY_CMD_MODE);
	}

	protected boolean keepGsmLinkOpen() throws Exception
	{
		serialDriver.send("AT+CMMS=1\r");
		return (serialDriver.getResponse().matches("\\s+OK\\s+"));
	}

	protected int sendMessage(int size, String pdu, String phone, String text) throws Exception
	{
		int responseRetries, errorRetries;
		String response;
		int refNo;

		switch (srv.getProtocol())
		{
			case CService.Protocol.PDU:
				errorRetries = 0;
				while (true)
				{
					responseRetries = 0;
					serialDriver.send(CUtils.replace("AT+CMGS=\"{1}\"\r", "\"{1}\"", "" + size));
					Thread.sleep(DELAY_CMGS);
					while (!serialDriver.dataAvailable())
					{
						responseRetries++;
						if (responseRetries == srv.getRetriesNoResponse()) throw new NoResponseException();
						if (log != null) log.warn("ATHandler().SendMessage(): Still waiting for response (I) (" + responseRetries + ")...");
						Thread.sleep(srv.getDelayNoResponse());
					}
					responseRetries = 0;
					serialDriver.clearBuffer();
					serialDriver.send(pdu);
					serialDriver.send((char) 26);
					response = serialDriver.getResponse();
					while (response.length() == 0)
					{
						responseRetries++;
						if (responseRetries == srv.getRetriesNoResponse()) throw new NoResponseException();
						if (log != null) log.warn("ATHandler().SendMessage(): Still waiting for response (II) (" + responseRetries + ")...");
						Thread.sleep(srv.getDelayNoResponse());
						response = serialDriver.getResponse();
					}
					if (response.indexOf("OK\r") >= 0)
					{
						int i;
						String tmp = "";

						i = response.indexOf(":");
						while (!Character.isDigit(response.charAt(i)))
							i++;
						while (Character.isDigit(response.charAt(i)))
						{
							tmp += response.charAt(i);
							i++;
						}
						refNo = Integer.parseInt(tmp);
						break;
					}
					else if (response.indexOf("ERROR") >= 0)
					{
						String err = response.replaceAll("\\s+", "");
						errorRetries++;
						if (errorRetries == srv.getRetriesCmsErrors())
						{
							if (log != null) log.error("CMS Errors [ " + err + " ]: Quit retrying, message lost...");
							refNo = -1;
							break;
						}
						else
						{
							if (log != null) log.warn("CMS Errors [ " + err + " ]: Retrying...");
							Thread.sleep(srv.getDelayCmsErrors());
						}
					}
					else refNo = -1;
				}
				break;
			case CService.Protocol.TEXT:
				String cmd1 = "AT+CMGS=\"{1}\"\r";
				
				cmd1 = CUtils.replace(cmd1, "{1}", phone);
				serialDriver.send(cmd1);
				serialDriver.emptyBuffer();
				serialDriver.send(text);
				Thread.sleep(DELAY_CMGS);
				serialDriver.send((byte) 26);
				response = serialDriver.getResponse();
				if (response.indexOf("OK\r") >= 0)
				{
					int i;
					String tmp = "";

					i = response.indexOf(":");
					while (!Character.isDigit(response.charAt(i)))
						i++;
					while (Character.isDigit(response.charAt(i)))
					{
						tmp += response.charAt(i);
						i++;
					}
					refNo = Integer.parseInt(tmp);
				}
				else refNo = -1;
				break;
			default:
				throw new OopsException();
		}
		return refNo;
	}

	protected String listMessages(int messageClass) throws Exception
	{
		switch (srv.getProtocol())
		{
			case CService.Protocol.PDU:
				switch (messageClass)
				{
					case CIncomingMessage.MessageClass.All:
						serialDriver.send("AT+CMGL=4\r");
						break;
					case CIncomingMessage.MessageClass.Unread:
						serialDriver.send("AT+CMGL=0\r");
						break;
					case CIncomingMessage.MessageClass.Read:
						serialDriver.send("AT+CMGL=1\r");
						break;
					default:
						throw new OopsException();
				}
				break;
			case CService.Protocol.TEXT:
				switch (messageClass)
				{
					case CIncomingMessage.MessageClass.All:
						serialDriver.send("AT+CMGL=\"ALL\"\r");
						break;
					case CIncomingMessage.MessageClass.Unread:
						serialDriver.send("AT+CMGL=\"REC UNREAD\"\r");
						break;
					case CIncomingMessage.MessageClass.Read:
						serialDriver.send("AT+CMGL=\"REC READ\"\r");
						break;
					default:
						throw new OopsException();
				}
				break;
			default:
				throw new OopsException();
		}
		return serialDriver.getResponse();
	}

	protected boolean deleteMessage(int memIndex, String memLocation) throws Exception
	{
		if (!setMemoryLocation(memLocation)) throw new org.smslib.OopsException("CATHandler.deleteMessage() : Memory Location not found!!!");
		serialDriver.send(CUtils.replace("AT+CMGD={1}\r", "{1}", "" + memIndex));
		return (serialDriver.getResponse().matches("\\s+OK\\s+"));
	}

	protected String getGprsStatus() throws Exception
	{
		serialDriver.send("AT+CGATT?\r");
		return serialDriver.getResponse();
	}

	protected String send(String s) throws Exception
	{
		serialDriver.send(s);
		return serialDriver.getResponse();
	}

	protected String getNetworkRegistration() throws Exception
	{
		serialDriver.send("AT+CREG?\r");
		return serialDriver.getResponse();
	}

	protected void getStorageLocations() throws Exception
	{
		String response, loc;
		StringTokenizer tokens;

		serialDriver.send("AT+CPMS?\r");
		response = serialDriver.getResponse();
		if (response.indexOf("+CPMS:") >= 0)
		{
			response = response.replaceAll("\\s*\\+CPMS:\\s*", "");
			tokens = new StringTokenizer(response, ",");
			while (tokens.hasMoreTokens())
			{
				loc = tokens.nextToken().replaceAll("\"", "");
				if (storageLocations.indexOf(loc) < 0) storageLocations += loc;
				tokens.nextToken();
				tokens.nextToken();
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
hitomi一区二区三区精品| 99热国产精品| 亚洲卡通欧美制服中文| 日韩美女在线视频| 色狠狠一区二区三区香蕉| 韩国一区二区视频| 亚洲mv大片欧洲mv大片精品| 国产精品青草久久| 日韩精品一区二区三区四区视频| 91免费精品国自产拍在线不卡| 看国产成人h片视频| 夜夜精品视频一区二区| 国产欧美日本一区视频| 精品国精品自拍自在线| 欧美日本在线视频| 在线欧美一区二区| 91在线观看污| 精品嫩草影院久久| 在线免费精品视频| 972aa.com艺术欧美| 国产成人在线看| 国产在线一区观看| 精品一区二区三区在线播放| 午夜av一区二区| 亚洲综合成人网| 亚洲精品国产视频| 亚洲天堂网中文字| 日韩码欧中文字| 亚洲欧洲99久久| 国产精品久久久久久久久晋中 | 色婷婷av一区二区三区大白胸| 韩国v欧美v日本v亚洲v| 久久99九九99精品| 男人的天堂久久精品| 午夜精品免费在线观看| 天天综合天天做天天综合| 亚洲一区二区视频在线观看| 亚洲一区在线视频观看| 亚洲免费观看在线观看| 亚洲三级电影全部在线观看高清| 国产精品美女久久久久aⅴ国产馆| 久久精品一区二区三区四区| 久久久久综合网| 国产日韩精品一区| 国产精品网站导航| 日韩美女久久久| 一区二区三区不卡在线观看| 一区二区三区在线观看国产| 亚洲国产精品久久人人爱 | 亚洲综合视频在线| 一区二区三区欧美日| 亚洲福利视频三区| 日韩国产成人精品| 国精产品一区一区三区mba视频| 国产黄人亚洲片| 不卡一区二区在线| 在线免费观看日本欧美| 91精品国产品国语在线不卡| 日韩欧美中文字幕公布| 久久久久九九视频| 中文字幕在线不卡一区| 一区二区三区在线观看国产 | 日本aⅴ免费视频一区二区三区| 另类专区欧美蜜桃臀第一页| 国产精品一二三| 成人av手机在线观看| 一本到一区二区三区| 欧美日本韩国一区| 久久久久久久久岛国免费| 亚洲欧洲三级电影| 视频在线观看国产精品| 国内成人自拍视频| 色综合久久综合网| 日韩一级大片在线| 欧美激情综合五月色丁香| 丁香五精品蜜臀久久久久99网站| 99国产麻豆精品| 日韩欧美一级二级| 亚洲同性gay激情无套| 麻豆精品一区二区综合av| 成人av电影观看| 欧美精品一二三| 国产精品国产自产拍高清av| 日韩电影网1区2区| www.欧美日韩| 日韩视频中午一区| 亚洲美女屁股眼交| 国产剧情一区二区| 在线播放国产精品二区一二区四区| 国产欧美日韩综合精品一区二区| 亚洲一区在线电影| 国产成人精品免费在线| 91精品国产综合久久婷婷香蕉| 国产精品美女久久久久av爽李琼| 日韩福利视频导航| 一本大道久久a久久综合| 精品免费视频一区二区| 亚洲一区二区在线视频| 成人午夜激情视频| 欧美zozo另类异族| 午夜亚洲福利老司机| 成人app在线观看| 久久亚洲精品国产精品紫薇| 亚洲大片在线观看| 91麻豆swag| 亚洲国产成人午夜在线一区| 狠狠色丁香久久婷婷综合_中| 欧美日本乱大交xxxxx| 亚洲手机成人高清视频| 懂色av一区二区三区蜜臀| 日韩三级视频在线看| 亚洲国产日韩a在线播放性色| 9色porny自拍视频一区二区| 久久精品一区二区三区不卡| 男女性色大片免费观看一区二区 | 久久综合九色综合97婷婷 | 成人国产视频在线观看| 日韩一区二区三区电影| 午夜欧美2019年伦理| 91久久精品一区二区二区| 综合亚洲深深色噜噜狠狠网站| 国产乱子伦视频一区二区三区| 亚洲午夜久久久久久久久电影网 | 色女孩综合影院| 亚洲国产精品精华液ab| 国产福利精品导航| 久久精品亚洲国产奇米99| 极品销魂美女一区二区三区| 欧美一级高清片| 蜜臀av一区二区| 日韩欧美二区三区| 蜜桃av噜噜一区| 欧美成人精品1314www| 男女激情视频一区| 日韩一级在线观看| 麻豆国产欧美一区二区三区| 337p亚洲精品色噜噜狠狠| 无吗不卡中文字幕| 3d动漫精品啪啪1区2区免费| 婷婷久久综合九色综合伊人色| 欧洲精品视频在线观看| 亚洲国产一区二区三区青草影视| 欧美在线你懂得| 亚洲自拍偷拍综合| 欧美日韩一区成人| 亚洲国产裸拍裸体视频在线观看乱了| 在线视频一区二区三区| 图片区小说区区亚洲影院| 欧美一区二区成人6969| 久久国产福利国产秒拍| 欧美xxxxxxxx| 国产成人夜色高潮福利影视| 国产农村妇女精品| 91免费视频网址| 亚洲成人一区二区| 日韩精品综合一本久道在线视频| 国产精品中文有码| 国产精品久久久久久一区二区三区| 91蝌蚪porny| 天堂蜜桃91精品| 精品日韩在线一区| 99久久99久久免费精品蜜臀| 亚洲午夜视频在线观看| 精品久久久网站| 91丨九色丨蝌蚪富婆spa| 亚洲一区二区av在线| 欧美电影免费观看高清完整版在线| 国产成人亚洲精品青草天美| 亚洲视频在线一区二区| 欧美久久一区二区| 国产九九视频一区二区三区| 亚洲日穴在线视频| 日韩视频免费观看高清在线视频| 国产成人免费网站| 亚洲一卡二卡三卡四卡五卡| 日韩欧美高清一区| 91在线观看一区二区| 日本欧美一区二区三区| 国产精品久久久久久久久免费丝袜| 欧美三级资源在线| 国产精品996| 日韩成人免费在线| 亚洲欧洲在线观看av| 日韩一区二区视频| 99精品视频一区二区三区| 午夜不卡在线视频| 综合色天天鬼久久鬼色| 精品成人一区二区三区| 色欧美片视频在线观看| 国产激情一区二区三区四区| 丝袜美腿亚洲一区二区图片| 国产精品视频线看| 日韩午夜在线影院| 色视频成人在线观看免| 国产一区二区久久| 首页亚洲欧美制服丝腿| 亚洲欧美精品午睡沙发| 国产亚洲精品久| 欧美一级生活片| 欧美日韩一区二区三区视频|