Java串行通信PortInUseException

时间:2013-01-28 08:05:15

标签: java sms gsm modem serial-communication

我有一个基于SMS的Java应用程序,使用CommV3驱动程序进行与GSM调制解调器的串行通信。我有两个单独的代码,一个用于发送消息,另一个用于接收消息。每个代码在单独执行时都能完美运行。

现在,当我想要整合这两个代码时,我得到一个PortInUseException,这可能是显而易见的。但是,我不知道从哪里开始。

我可以获得指针/链接/教程,我可以开始解决我的问题。我不知道应该从哪里开始。

提前致谢!

2 个答案:

答案 0 :(得分:1)

确保您的代码使用一个 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运营商。它是免费的,非常稳定。

答案 1 :(得分:0)

可能你可以从2个代码中分离出侦听器代码(绑定到端口)。 并基于发送/接收专用于相应的代码段。