你不需要编写一个程序来在Linux中这样做。 只需通过netcat 管道串口。
netcat www.example.com port /dev/ttyS0
只需更换地址和端口信息。 另外,您可能正在使用不同的串行端口(即更改/dev/ttyS0部分)。 您可以使用stty或setserial命令更改串口参数(波特率,奇偶校验,停止位等)。
通过谷歌搜索一个非常相似的(通过TCP / IP使用从Linux客户端的服务器上的串行端口)这个问题,所以,即使这不是一个确切的原始问题的答案,一些代码可能是有用的原始海报,我认为:
使用串行端口的Linux机器侦听TCP端口以共享调制解调器: ser2net
从另一个Linux工作站使用这个“共享”调制解调器: remtty
您可以使用socat创建一个Serial-Over-Lan(SOL)连接。 它可以用来将一个ttyS转发到另一台机器上,使其看起来像本地机器,或者你可以通过TCP / IP端口访问它。
所有你需要的工具已经可以在大多数现代Linux发行版上找到。
正如几位已经指出,你可以通过netcat管道串行数据。 但是,每次连接时都需要重新启动一个新的实例。 为了让连接之间持续存在,可以使用以下配置创建一个xinetd服务:
service testservice { port = 5900 socket_type = stream protocol = tcp wait = yes user = root server = /usr/bin/netcat server_args = "-l 5900 < /dev/ttyS0" }
确保将/ dev / ttyS0更改为与您