我曾尝试使用TelnetSerialPort和jSSC库创建虚拟端口但不会工作。不创建虚拟串口,它使用现有的串口进行通信。
这是我的程序使用jSSc库
public class VirtualSerialPort
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
SerialPort serialPort = new SerialPort("COM12");
try
{
System.out.println("Port opened: " + serialPort.openPort());
System.out.println("Params setted: " + serialPort.setParams(9600, 8, 1, 0));
System.out.println("\"Hello World!!!\" successfully writen to port: " + serialPort.writeBytes("Hello World!!!".getBytes()));
System.out.println("Port closed: " + serialPort.closePort());
}
catch (SerialPortException ex)
{
System.out.println(ex);
}
}
}
它提供以下输出
Port opened: false
jssc.SerialPortException: Port name - EMPTY; Method name - setParams(); Exception type - Port not opened.
答案 0 :(得分:1)
根据我的理解,JSSC将连接到现有的串行端口。它不会创建虚拟串行端口。如果您需要虚拟串行端口,那么您应该使用一些模拟器,然后使用JSSC连接该虚拟端口。
参考:通过Java中的jSSC从COM端口发送和接收字符串:http://www.codeproject.com/Tips/801262/Sending-and-receiving-strings-from-COM-port-via-jS
答案 1 :(得分:0)
我假设您使用基于COM端口标识符的Windows。在Windows中,您必须使用\\.\COMn
表示法访问10或更高的COM端口(其中n是您的COM端口号)。尝试将代码更改为此(请注意,\
个字符的数量会增加一倍,以使其显示而不是触发转义序列):
SerialPort serialPort = new SerialPort("\\\\.\\COM12");