且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用Java发送SMS

更新时间:2023-10-15 23:42:10

你可以使用这个免费的Java示例程序,使用连接到的GSM调制解调器从你的PC发送短信您的计算机到您的COM端口。您还需要从Sun下载并安装Java comm api。

You can use this free Java sample program to send SMS from your PC using GSM modem connected to your computer to your COM port. You also need to download and install the Java comm api from Sun.

此程序需要以下java文件才能运行。

This program needs the following java files to function.


  1. SerialConnection.java(此文件用于从java程序连接到您的COM端口)

  1. SerialConnection.java (This file is used to connect to your COM port from your java program)

SerialConnectionException.java(此文件用于处理Java程序中的串行连接异常)

SerialConnectionException.java (This file is for handling serial connection exceptions in your Java program)

SerialParameters.java(此程序用于设置COM端口属性)从java程序连接到您的com端口)

SerialParameters.java (This program is used to set your COM port properties for connecting to your com port from your java program)

Sender.java(这是实现runnable并使用串行连接发送SMS的程序)

Sender.java (This is the program that implements runnable and sends SMS using the serial connection)

SMSClient.java(这个java类是可以在你自己的java程序中实例化并被调用来发送短信的主类。这个程序反过来将使用所有的上面四个文件发送你的短信。)

SMSClient.java (This java class is the main class that can be instantiated in your own java program and called to send SMS. This program in turn will use all the above four files internally to send out your SMS).

下载发送短信Java样本程序文件

Download Send SMS Java sample program files

/*
 *
 * A free Java sample program 
 * A list of java programs to send SMS using your COM serial connection
 * and a GSM modem
 *
 * @author William Alexander
 * free for use as long as this comment is included 
 * in the program as it is
 * 
 * More Free Java programs available for download 
 * at http://www.java-samples.com
 *
 *
 * Note: to use this program you need to download all the 5 java files
 * mentioned on top
 *
 */
public class SMSClient implements Runnable{

  public final static int SYNCHRONOUS=0;
  public final static int ASYNCHRONOUS=1;
  private Thread myThread=null;

  private int mode=-1;
  private String recipient=null;
  private String message=null;

  public int status=-1;
  public long messageNo=-1;


  public SMSClient(int mode) {
      this.mode=mode;
    }

  public int sendMessage (String recipient, String message){
    this.recipient=recipient;
    this.message=message;
    //System.out.println("recipient: " + recipient + " message: " + message);
    myThread = new Thread(this);
    myThread.start();
//    run();
    return status;
    }
    public void run(){

    Sender aSender = new Sender(recipient,message);

    try{
      //send message
          aSender.send ();

         // System.out.println("sending ... ");

      //in SYNCHRONOUS mode wait for return : 0 for OK,
      //-2 for timeout, -1 for other errors
      if (mode==SYNCHRONOUS) {
          while (aSender.status == -1){
            myThread.sleep (1000);
          }
      }
      if (aSender.status == 0) messageNo=aSender.messageNo ;

    }catch (Exception e){

        e.printStackTrace();

    }

    this.status=aSender.status ;

    aSender=null;


  }
}