使用虚拟串行端口仿真器,我可以
- 创建虚拟串行端口连接器
- 为连接器选择一个端口,例如 COM35
- 创建 TCP 服务器
- 将之前创建的虚拟串口分配给服务器
然后客户端可以通过知道 ip 地址、tcp 端口和虚拟串口的名称与 tcp 服务器建立流连接。
在上面的示例中,我创建了一个简单地连接到虚拟串行端口的 MICRO_Test 应用程序 (c++)。当我将数据写入此端口时,所有客户端都会收到它。
您可以在上图中的日志中看到它。
虽然这是在 Windows 上,但有没有办法在 linux 机器上实现一些等效的行为?
总结一下:
Some binary code (as interface for e.g. webservices)
|
|
| [send/receive via virtual com port]
|
|
TCP Server & COM connector (multiple instances possible with different ports)
| | |
| | |
| | |
Client 1 Client 2 Client X
客户端从其真实的 com 端口读取物理数据,并通过 tcp 流将数据发送到服务器。
对于 linux,我阅读了很多关于 socat、tty 和 ser2net 的内容。但是我无法真正了解如何在 linux 上实现上述架构?你能帮我提供一些信息吗?