繁体   English   中英

通过管道运行socat进程,但是如何完成呢?

[英]Piping to running socat process, But how is this done?

我有一个小问题,我有以下情况。

我编程了一个已经可以使用的服务器工具。 不,我尝试用perl对其进行测试。 因此,我编写了一个开始脚本,该脚本仅用于启动测试所需的所有过程以及单独的测试脚本。 问题如下:在启动脚本中启动服务器之前,我必须先启动SOCAT编。 如何连接到socat进程,并从测试脚本中输入一些信息? 这可能吗?

抱歉,我再次尝试进行混乱的描述:我有两个文件:一个用于启动服务器上的进程,另一个用于将数据写入服务器进程的socat进程。 我也从这里开始其他必要的过程,但是它们对于这个问题并不重要。 第二个文件应该只是将一些内容写入socat进程,以将其发送到服务器。 如何连接到正在运行的socat进程(必须在启动服务器进程之前启动该进程。原因是服务器可以连接到socat)?

简短说明:我想连接或通过管道连接到socat进程而不是服务器,因为服务器已经连接到socat吗?

我正在使用UNIX系统。

像这样的东西: http : //www.thegeekstuff.com/2010/07/perl-tcp-udp-socket-programming/

#!/usr/bin/perl
#tcpclient.pl

use IO::Socket::INET;

# flush after every write
$| = 1;

my ($socket,$client_socket);

# creating object interface of IO::Socket::INET modules which internally creates
# socket, binds and connects to the TCP server running on the specific port.
$socket = new IO::Socket::INET (
PeerHost => '127.0.0.1',
PeerPort => '5000',
Proto => 'tcp',
) or die "ERROR in Socket Creation : $!\n";

print "TCP Connection Success.\n";

# read the socket data sent by server.
$data = <$socket>;
# we can also read from socket through recv()  in IO::Socket::INET
# $socket->recv($data,1024);
print "Received from Server : $data\n";

# write on the socket to server.
$data = "DATA from Client";
print $socket "$data\n";
# we can also send the data through IO::Socket::INET module,
# $socket->send($data);

sleep (10);
$socket->close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM