我曾尝试使用TelnetSerialPort和jSSC库来创建虚拟服务器端口,但 work.it 不会创建虚拟串行端口,它使用现有的串行端口进行通信。
这是我使用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.
据我了解,JSSC将连接到现有的串行端口。它不会创建虚拟串行端口。如果你想要虚拟串行端口,那么你应该使用一些模拟器,然后使用JSSC连接该虚拟端口。
参考:在Java中通过jSSC从COM端口发送和接收字符串:http://www.codeproject.com/Tips/801262/Sending-and-receiving-strings-from-COM-port-via-jS
我假设您使用的是基于COM端口标识符的Windows。在 Windows 中,您必须使用 \.COMn
表示法访问 10 或更高的 COM 端口(其中 n 是您的 COM 端口号)。尝试将代码更改为以下内容(请注意,字符的数量是其显示的两倍,而不是触发转义序列):
SerialPort serialPort = new SerialPort("\\.\COM12");