Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如果我有它的内存位置,是否可以重新创建Net::Telnet连接?_Perl_Telnet_Perl Module - Fatal编程技术网

Perl 如果我有它的内存位置,是否可以重新创建Net::Telnet连接?

Perl 如果我有它的内存位置,是否可以重新创建Net::Telnet连接?,perl,telnet,perl-module,Perl,Telnet,Perl Module,如果我有它的内存位置,是否可以重新创建Net::Telnet连接 如何将Net::Telnet=GLOB(0x1b50ff0)字符串再次转换为Net::Telnet对象 谢谢。更新 您不能在两个单独的进程中重复使用对象,正如您试图执行的注释所示-一个进程看不到另一个进程的内存/地址空间。您只能执行以下三项操作之一: 从头开始重新创建对象,使其成为其他程序中另一个对象的副本,但前提是该对象的类支持序列化/反序列化(通常通过使用Data::Dumper、Storable或其他方法保存对象状态来完成)

如果我有它的内存位置,是否可以重新创建Net::Telnet连接

如何将Net::Telnet=GLOB(0x1b50ff0)字符串再次转换为Net::Telnet对象


谢谢。

更新

不能在两个单独的进程中重复使用对象,正如您试图执行的注释所示-一个进程看不到另一个进程的内存/地址空间。您只能执行以下三项操作之一:

  • 从头开始重新创建对象,使其成为其他程序中另一个对象的副本,但前提是该对象的类支持序列化/反序列化(通常通过使用Data::Dumper、Storable或其他方法保存对象状态来完成)。我不知道Net::Telnet是否可以这样处理

    需要明确的是,您的第二个程序将在反序列化后获得对象的副本,这与原始对象无关

  • 允许客户机与服务器对话并发送Telnet命令,服务器将该命令传递给Net::Telnet对象并告诉客户机结果。基本上,服务器充当客户端的telnet代理。客户机应该通过其ID引用服务器的Net::Telnet对象,正如我在原始答案中的注册表解释中所提到的

  • 如果客户端和服务器位于同一物理服务器上,则使用存储Net::Telnet对象


  • 原始答案

    您可以尝试查看哪个取消字符串化引用。。。我从来没有使用过它,所以不能保证它能很好地工作,或者特别适用于Net::telnet

    我同意上面的评论,如果你需要这样做,你很可能没有对你的根本问题应用正确的解决方案——如果你提供更多关于你试图实现高水平目标的细节,这会有所帮助


    您几乎不必处理字符串化引用而不是对象引用。如果您在自己流程的范围内,那么您可以传递对象引用(或者如果确实必须的话,将其设置为全局引用)。如果正在使用某种进程间通信,并且外部进程需要引用程序中的一个Net::Telnet对象,则需要创建Net::Telnet对象的注册表(可能只是一个数组),并通过注册表中的索引引用它们。

    更新

    不能在两个单独的进程中重复使用对象,正如您试图执行的注释所示-一个进程看不到另一个进程的内存/地址空间。您只能执行以下三项操作之一:

  • 从头开始重新创建对象,使其成为其他程序中另一个对象的副本,但前提是该对象的类支持序列化/反序列化(通常通过使用Data::Dumper、Storable或其他方法保存对象状态来完成)。我不知道Net::Telnet是否可以这样处理

    需要明确的是,您的第二个程序将在反序列化后获得对象的副本,这与原始对象无关

  • 允许客户机与服务器对话并发送Telnet命令,服务器将该命令传递给Net::Telnet对象并告诉客户机结果。基本上,服务器充当客户端的telnet代理。客户机应该通过其ID引用服务器的Net::Telnet对象,正如我在原始答案中的注册表解释中所提到的

  • 如果客户端和服务器位于同一物理服务器上,则使用存储Net::Telnet对象


  • 原始答案

    您可以尝试查看哪个取消字符串化引用。。。我从来没有使用过它,所以不能保证它能很好地工作,或者特别适用于Net::telnet

    我同意上面的评论,如果你需要这样做,你很可能没有对你的根本问题应用正确的解决方案——如果你提供更多关于你试图实现高水平目标的细节,这会有所帮助


    您几乎不必处理字符串化引用而不是对象引用。如果您在自己流程的范围内,那么您可以传递对象引用(或者如果确实必须的话,将其设置为全局引用)。如果您正在使用某种进程间通信,而外部进程需要引用程序中的一个Net::Telnet对象,则需要创建Net::Telnet对象的注册表(可能只是一个数组),并通过注册表中的索引引用它们。

    无论您试图做什么,听起来都好像做得不对。你不能把Net::Telnet对象传递到你需要的任何地方,而不是传递它的字符串化吗?也许:)我有一个Telnet服务器,它保持与路由器的持久连接,我不能通过客户端获取它,或者我可以吗?如何使用服务器中相同的Net::Telnet连接共享客户端?请参阅我的更新回复。你不能像你看起来那样抓住它,但有几种可能的方法可以根据你的情况解决你的需要。试图通过查看另一个进程的地址来使用它的内存就像试图从银行取钱一样,因为我可以在出纳员后面看到它的计数。无论你想做什么,听起来你做错了。你不能把Net::Telnet对象传递到你需要的任何地方,而不是传递它的字符串化吗?也许:)我有一个Telnet服务器,它保持与路由器的持久连接,我不能通过客户端获取它,或者我可以吗?如何使用服务器中相同的Net::Telnet连接共享客户端?请参阅我的更新回复。你不可能像你看起来那样抓住它,但是根据你的情况,有几种可能的方法来解决你的需要。试图通过查看另一个进程的地址来使用它的内存就像试图从银行拿钱一样,因为我可以在电视机后面看到它的计数