【问题标题】:Piping to running socat process, But how is this done?管道运行 socat 进程,但是这是怎么做的呢?
【发布时间】:2013-07-09 09:46:43
【问题描述】:

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

我编写了一个已经可以工作的服务器工具。不,我试图用 perl 测试它。因此,我编写了一个 startscript,它只是用于启动我需要进行测试的所有进程,以及单独的测试脚本。问题如下:在启动脚本中启动我的服务器之前,我必须启动我的 SOCAT prog。如何连接到 socat 进程并从我的测试脚本中输入一些内容?这可能吗?

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

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

我使用的是 UNIX 系统。

【问题讨论】:

  • 问题描述比较混乱。描述所涉及的不同程序以及它们如何交互。 我的 SOCAT prog 是什么意思?
  • @GeorgKiedl 不要在 cmets 中澄清您的问题,而是编辑您的问题并将所有澄清添加到问题中。
  • 您写道:该进程必须在我的服务器进程启动之前启动。原因是服务器可以连接到socat。这是不一致的 - 服务器不连接,而是侦听来自客户端的连接请求并在适用时接受它们。你所谓的服务器实际上是客户端吗?

标签: perl bash


【解决方案1】:

类似这样的: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();

【讨论】:

  • @GeorgKiedl 再次在问题中添加说明,并发表评论updated to question to be clearer
  • 感谢您的回答,但我认为这不是我想要的,因为我的 socat 进程已经连接到我的服务器。我不想连接到我的服务器。我想连接到 socat 进程或通过管道连接到 socat 进程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
  • 2014-02-19
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 2014-09-26
相关资源
最近更新 更多