发送短信服务类

import java.lang.*;
import java.net.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */
public class iSMSClient2000 {
  private Socket ClientSocket;
  //private DataInputStream is;
  private BufferedReader br;
  private DataOutputStream os;

  public String Error;
  public String Option;
  public String Record;
  public String Mobile;
  public String Content;
  public String DateTime;

  public iSMSClient2000() {
    Error = "";
    Option = "";
    Record = "";
    Mobile = "";
    Content = "";
    DateTime = "";
  }

  public boolean OpenSMS(String mServer,int mPort){
    String mBuffer="";
    boolean mResult=false;
    try{
      if (mServer==""){
        mServer="localhost";
      }
      if (mPort==0){
        mPort=8090;
      }
      ClientSocket = new Socket(mServer,mPort);
      //is = new DataInputStream(new BufferedInputStream(ClientSocket.getInputStream()));
	br=new BufferedReader(new InputStreamReader(ClientSocket.getInputStream()));       
      os= new DataOutputStream(new BufferedOutputStream(ClientSocket.getOutputStream()));

      //mBuffer=is.readLine();
      mBuffer=br.readLine();
      if (mBuffer.equalsIgnoreCase("OK")){
        os.write(("SMS\r\n").getBytes());
        mResult = true;
      }
    }
    catch(Exception e)
    {
      mResult = false;
    }
    return(mResult);
  }


  public boolean SendSMS(String mRecord,String mMobile,String mContent){
    boolean mResult=false;
    byte[] bRecord;
    byte[] bMobile;
    byte[] bContent;
    byte[] bFlag;
    try{
      bRecord = (mRecord + "\r\n" ).getBytes() ;
      bMobile = (mMobile + "\r\n" ).getBytes() ;
      bContent =(mContent + "\r\n").getBytes();
      bFlag = new byte[3];
      bFlag[0]=0x1A;
      bFlag[1]='\r';
      bFlag[2]='\n';

      os.write(bFlag);
      os.write(bRecord);
      os.write(bMobile);
      os.write(bContent);
	  //os.writeUTF(mContent);
      os.write(bFlag);
      os.flush();

     // Error=is.readLine();
      Error=br.readLine();
      if (Error.equalsIgnoreCase("OK")){
        mResult = true;
      }else{
        mResult = false;
      }
    }
    catch(Exception e)
    {
      mResult = false;
    }
    return(mResult);
  }

  public String ReadSMS(){
    String mResult="";
    byte[] bFlag;
    try{
      bFlag = new byte[3];
      bFlag[0]=0x1B;
      bFlag[1]='\r';
      bFlag[2]='\n';

      os.write(bFlag);
      os.flush();
      mResult=br.readLine(); //is.readLine();
      Option=br.readLine(); //is.readLine();
      Record=br.readLine(); //is.readLine();
      Mobile=br.readLine(); //is.readLine();
      Content=br.readLine(); //is.readLine();
	  //Content=is.readUTF();
      DateTime=br.readLine(); //is.readLine();
      Error=br.readLine(); //is.readLine();
      if (Error.equalsIgnoreCase("OK")){
        mResult = mResult;
      }else{
        mResult = "0";
      }
    }
    catch(Exception e)
    {
      mResult = "0";
    }
    return(mResult);
  }

  public boolean CloseSMS(){
    boolean mResult=false;
    try
    {
      os.write(("END\r\n").getBytes());
      ClientSocket.close();
      mResult = true;
    }
    catch(Exception e)
    {
      mResult = false;
    }
    return(mResult);
  }

}


你可能感兴趣的:(java,socket)