Windows/Linux socat 通过 IP 共享串行设备

wxf*_*eld 6 windows serial telnet redirect socat

我有一个场景,我向我的团队@work 演示了如何使用socat. 该小组希望能够通过以太网与串行设备建立按需双向连接。目前我有通过 Telnet 广播的设备。

socat tcp-l:23,reuseaddr,fork,crlf file:/dev/ttyUSB0,echo=0,b115200,raw,crnl,icanon=1
Run Code Online (Sandbox Code Playgroud)

我需要设置消费者端,使 Windows 用户连接到 Telnet 端口,但将 I/O 重定向到他们机器上的可用 COM 端口。我在考虑 Cygwin &socat在 Windows 方面,但我不是一个非常熟练的 Windows 人。

有任何想法吗?

小智 1

我理解你的问题,所以你希望 Windows 电脑能够共享串行端口,就像你可以使用 socat 让 Linux 盒子共享端口一样。

例如,sourceforge.net 中有一些开源应用程序可以将 TCP 套接字与 Windows 中的串行端口连接起来。另外,只需谷歌“串行到IP”或“IP到串行”。一个简单的例子是“SerialToIP” http://sourceforge.net/projects/serialtoip/?source=directory它是用 C# 开发的。它有可用的命令行和 GUI 版本,但串行端口控制很少,但这可能足以满足您基于 socat-example 的需求。

根据您对串行端口控制需求的详细程度以及您的应用程序是否需要运行(无论 Windows 用户是否登录),您应该选择适合您需求的应用程序。默认情况下,Windows 中的 GUI 应用程序要求用户登录才能工作。

顺便说一句,您的 socat 命令与 Telnet 协议无关。您只需创建一个连接到串行端口的纯粹且简单的 TCP/IP“管道”。该“管道”内承载的任何可能的顶层协议都与问题和答案无关。