1

我正在尝试开发一个应用程序,让我使用连接在 USB 端口上的 GSM 加密狗发送短信。我已经下载了 javaxcomm api 并将文件放在适当的文件夹中。由于我的操作系统是 Windows 7(64 位),所以我下载了 jdk 的 32 位版本。但是,我仍然无法继续前进。目前我遇到了 NoSuchPortException。

错误出现在这一行周围:

portId = CommPortIdentifier.getPortIdentifier(parameters.getPortName());

这是完整的代码。

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;


  }
}
4

0 回答 0