草庐IT

mod-perl2

全部标签

perl - 已建立 TCP 连接但套接字不发送/接收数据

我正在编写一个简单的TCP客户端和服务器Perl脚本。截至目前,我使用wireshark验证了3次TCP握手,并建立了连接。但是当我尝试发送或接收数据时,什么也没有发生。问题:1)客户端和服务器之间的主要区别仅在于服务器添加了一个LISTEN参数,使其能够监听传入的连接?2)接收和显示数据之间是否缺少任何步骤?3)当程序第一次执行while循环时,至少应该发送硬编码字符串“$response”吗?4)shutdown($sock,1)和sleep(1)在此实现中有何不同?让套接字休眠是否可以,还是我应该使用shutdown($sock,1)向客户端/服务器发出数据已发送的信号?在检查w

Windows中Perl命令的安装

1、从ActiveState下载perl安装包Download&InstallPerl-ActiveState2、再创建项目的最下方,有一个安装Perl按钮,点进去选择适合自己电脑的版本,官网中给出了两种安装方法,本文安装的版本是Win10的Perl5.36 方法一:下载安装包,直接运行安装包运行完毕后如下图: 后在cmd中运行上上图给出的代码stateactivate--defaultTikMarskasbili/Perl-5.36.0-Windows运行完毕后如下图:方法二:直接在cmd中下载安装  安装完成后在cmd中输入下列命令检车是否安装成功perl-v如下图所示,则为安装成功。  

perl客户端到服务器文件发送,反之亦然使用套接字

我是stackoverflow和perlIO::Socket套接字编程的新手。我的项目有问题。我有一个TCP客户端和服务器脚本,客户端可以在其中将文件发送到服务器。服务器端创建一个目录,用于存储接收到的文件。它可以显示目录中的文件。它还可以读取文件(txt)或删除文件。问题出在客户端...服务器是否也可以向客户端发送文件?客户端是否也可以从服务器删除文件?提前谢谢你。 最佳答案 嗯,是和不是。当您谈论创建TCP客户端和服务器时,您所拥有的只是两条管道-一种2线铜质电话线。你可以想象,你可以通过电话传输很多东西,你甚至可以通过电话实现

perl - 在 perl 中为 TCP 客户端正确使用 IO::Socket::INET

我有一个关于我应该如何使用IO::Socket的问题;我有一个应该持续运行的脚本,用于监视Asterisk服务器的某些事件。当这些事件发生时,脚本会通过TCP套接字将事件中的数据发送到另一台服务器。我发现有时候,套接字会关闭。我的问题是我是否应该使用单个套接字,并让它永远打开(并弄清楚为什么+阻止它关闭),或者我应该为发送的每一位数据打开和关闭一个新套接字?我对这类事情的经验非常少,而且我已经阅读了所有文档但没有找到我正在寻找的答案。以下是我到目前为止所获得的示例:#!/usr/bin/perluseAsterisk::AMI;useIO::Socket;usestrict;usewa

perl - 如何使用 Perl 通过 TCP 连接发送多个文件?

我正在测试通过TCP连接将两个文件发送到远程服务器的概念验证,全部使用Perl。但是,我遇到了发送多个文件的问题。目前,我有一个客户端(托管在Windows上,运行ActiveStatePerl)想要将2个CSV文件发送到远程服务器(运行某种形式的RedHat)。随着这个过程的进行,客户端将逐行打印出CSV文件的内容,完成后,它会向服务器发送一条消息。然后服务器应拦截该消息,并将要写入的文件切换到另一个CSV文件。但是,服务器只是一个大文件,我希望它能将接收到的内容拆分成两个文件。所以,我真正的问题是:使用Perl在TCP连接上发送两个文件的最简单方法是什么?我更喜欢使用内置模块,例如

perl - TCP Server 多次接收和响应

我正在尝试在运行该应用程序的同一台PC上模拟TCP服务器。我不知道它是否可以在Perl中完成,因为我不是很有经验。使用下面的代码,第一个回复有效,但我不知道如何实现第二个回复。#!/usr/bin/perl-wuseIO::Socket::INET;usestrict;my$socket=IO::Socket::INET->new('LocalPort'=>'3000','Proto'=>'tcp','Listen'=>SOMAXCONN)ordie"Can'tcreatesocket($!)\n";print"Serverlistening\n";while(my$client=$s

perl tcp 客户端不显示传入数据

我是网络编程新手,无法解决这个问题我有一个服务器(某种LPT端口到TCP/IP代理),它会自动尝试以随机间隔建立连接。我需要监听特定端口并与服务器通信。那就是客户端。它适用于perltcp服务器。但在这种情况下,它会等待......没有任何反应#!/usr/bin/perl-wuseIO::Socket;my$sock=newIO::Socket::INET(LocalHost=>'192.168.1.1',LocalPort=>'7000',Proto=>'tcp',Listen=>1,Reuse=>1,);die"Couldnotcreatesocket:$!\n"unless$s

perl - 如何在 Net::RawIP 中指定包数据?

根据cpan文档,我可以使用以下代码创建原始数据包:useNet::RawIP;$n=Net::RawIP->new({ip=>{saddr=>'my.target.lan',daddr=>'my.target.lan',},});tcp=>{source=>139,dest=>139,psh=>1,syn=>1,},});$n->send;但是我应该在哪里声明数据包包含的数据呢?我可以用另一个模块发送数据包吗? 最佳答案 由于您发送的是tcp数据包,您需要按照文档所述指定:$n=Net::RawIP->new({ip=>{sadd

perl - 使用 curl 和 perl 代理

我想用Perl脚本检查我们的代理是否正常工作。我使用curl命令测试了我们的代理,它按预期工作:curl-x'http://our_proxy:port'-v'http://www.some_adult_site.com'这让我在Wireshark中得到以下TCP流输出:GEThttp://www.some_adult_site.com/HTTP/1.1User-Agent:curl/7.35.0Host:www.some_adult_site.comAccept:*/*Proxy-Connection:Keep-Alive当我用我的Perl脚本尝试这样做时:#!/usr/bin/pe

perl - 脚本崩溃后,如何避免在 Perl 中使用 ophan 监听套接字?

我有一个使用IO::Socket::INET建立TCP服务器的脚本my$socket=newIO::Socket::INET(LocalHost=>'0.0.0.0',LocalPort=>'10010',Proto=>'tcp',Listen=>5,);如果我的脚本在到达服务器套接字关闭之前崩溃或被用户停止,那么下次运行脚本时它无法绑定(bind)到该端口,因为仍有一个进程在监听该端口除掉结果netstat-anobptcpTCP0.0.0.0:100100.0.0.0:0LISTENING22628[System]是的,我正在使用Windows。任务终止请求:taskkill/f/