我有一个基于 SMS 的 Java 应用程序,它使用CommV3
驱动程序与 GSM 调制解调器进行串行通信。我有两个单独的代码,一个用于发送消息,一个用于接收消息。每个代码在单独执行时都能完美运行。
现在,当我想整合这两个代码时,我得到一个PortInUseException
,这可能很明显。但是,我不确定从哪里开始。
我可以获得可以开始解决问题的指针/链接/教程吗?我不知道我应该从哪里开始。
提前致谢!
我有一个基于 SMS 的 Java 应用程序,它使用CommV3
驱动程序与 GSM 调制解调器进行串行通信。我有两个单独的代码,一个用于发送消息,一个用于接收消息。每个代码在单独执行时都能完美运行。
现在,当我想整合这两个代码时,我得到一个PortInUseException
,这可能很明显。但是,我不确定从哪里开始。
我可以获得可以开始解决问题的指针/链接/教程吗?我不知道我应该从哪里开始。
提前致谢!
确保您的代码使用一个SerialPort 而不是两个。那么读取或写入这个端口就没有问题了。
SerialPort serialPort;
InputStream inStream;
OutputStream outStream;
serialPort = (SerialPort) portId.open(...);
serialPort.setFlowControlMode(...);
serialPort.setSerialPortParams(...);
inStream = serialPort.getInputStream ();
outStream = serialPort.getOutputStream ();
PS:SMSLib是一个优秀的 Java 库(也移植到 .NET Framework),它允许您通过兼容的 GSM 调制解调器或 GSM 电话发送/接收 SMS 消息。SMSLib 还支持一些批量 SMS 运营商。它是免费的并且非常稳定。
可能您可以将侦听器代码(绑定到端口)与 2 个代码分开。并根据发送/接收专用于适当的代码段。