[ Вопрос обновляется с учетом комментариев комментатора ] Когда я использую следующую команду для выполнения prop.obj
"perl sendXssl.pl имя хоста порт prop.obj" , выдает ошибку как «Ошибка Плохой дескриптор файла, ssl_error = Ошибка попытки соединения SSL при sendXssl. PL Line 6 ".
Пожалуйста, помогите мне решить это.
Моя Perl-программа приведена ниже ...
Perl
use IO::Socket::SSL qw( SSL_VERIFY_NONE );
use strict;
use warnings qw( all );
$|=1;
my $sock = IO::Socket::SSL->new(
PeerHost => $ARGV[0],
PeerPort => $ARGV[1],
SSL_verify_mode => SSL_VERIFY_NONE)
or die "error=$!, ssl_error=$IO::Socket::SSL::SSL_ERROR";
print $sock "X";
my $data ;
my $file = $ARGV[2];
open(my $fh,'<',$file) or die "Error 2 $!\n";
{
local $/;
$data = <$fh>;
}
close($fh);
my $pack = $data;
print $sock $pack;
Я создал prop.obj объект из следующего Java-файла
Java
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.Properties;
public class PropertiesX {
public static void main(String[] args) {
try {
String[] s = new String[1];
s[0] = "notepad.exe";
Properties p = new Properties();
p.put("commandArgs",s);
p.setProperty("parent", "c:\\windows\\system32\\notepad.exe");
FileOutputStream fos = new FileOutputStream("prop.obj");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(p);
oos.close();
System.out.println(p.toString());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}