假设我在Perl的帮助下建立了两个连接IO::Socket.第一个有套接字$s1,第二个有套接字$s2.
任何想法如何我可以将它们连接在一起,以便从$s1发送到$s2收到的任何内容以及收到的任何内容都$s2被发送到$s1?
我无法理解如何做到这一点.我不知道如何将它们连接在一起.我希望做这样的事$s1->stdin = $s2->stdout和$s2->stdin = $s1->stdout,但也有在Perl没有这样的构造.
请帮我!
谢谢,Boda Cydo.
如果您正在处理二进制数据,则需要知道要读取和写入的块大小.假设您正在处理512字节的块:
my $buffer;
while (read $s1 => $buffer, 512) { # read up to 512 bytes
print $s2 $buffer;
}
Run Code Online (Sandbox Code Playgroud)
我不确定是否pipe适用于套接字,但如果是这样的话:
pipe $s1 => $s2;
pipe $s2 => $s1;
Run Code Online (Sandbox Code Playgroud)
"可能"有效.我对这个pipe功能没什么经验.
编辑:
正如评论中所提到的,您似乎正在尝试创建HTTP代理.CPAN已经有几个可以为您完成此任务的模块.快速搜索出现了:
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |